来看看使用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对象
先设置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对象
1036

被折叠的 条评论
为什么被折叠?



