2007-08-02

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

关键字: Rails Checkbox
来看看使用Checkbox多选来更新的情况:
先设置routes:
# routes.rb
map.resources :tasks, :collection => { :complete => :put}


页面表单:
<% 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 %>


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


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

您还没有登录,请登录后发表评论

hideto
搜索本博客
我的相册
A6bdc31c-c66e-468e-961e-9cc721e82adc-thumb
screenshot
共 1 张
存档
最新评论