Rails宝典之第五十二式: 使用Checkbox来更新

来看看使用Checkbox多选来更新的情况:
先设置routes:
[code]
# routes.rb
map.resources :tasks, :collection => { :complete => :put}
[/code]

页面表单:
[code]
<% form_tag complete_tasks_path, :method => :put do %>
<ul>
<% for task in @incomplete_tasks %>
<li>
<%= check_box_tag "task_ids[]", task.id %>
<%= task.name %>
</li>
</ul>
<% submit_tag "Mark as Complete %>
<% end %>
[/code]

controller:
[code]
# tasks_controller.rb
def complete
Task.update_all(["completed_at=?", Time.now], :id => params[:task_ids])
end
[/code]

我们使用task_ids[]作为表单参数名,传递到后台contrller的params[:task_ids]就是一个id数组
然后我们使用update_all来更新多个Task对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值