ruby-on-rails – Rails Restful actions Index Put

我经常遇到我想要一次更新许多记录的情况 – 就像GMail设置许多消息“读取”或“未读”一样.

Rails通过ActiveRecord类的’update’方法鼓励这一点 – Comment.update(keys,values)

示例 – http://snippets.dzone.com/posts/show/7495

这是很棒的功能,但很难映射到一个宁静的路线.从某种意义上说,我希望看到:对集合采取行动.在路线中,我们可能会添加类似的东西

map.resources :comments,:collection => { :update_many => :put }

然后在表格中,你会这样做……

<% form_for @comments do |f| %>
  ...

这在许多层面都不起作用.如果您这样做:: collection => {:update_many => :put},rails会向索引操作提交一个帖子(CommentsController #index),我希望它转到’update_many’动作.相反,你可以做:collection => {:update_many => :post}.这至少会在控制器中执行正确的操作.

并且,而不是<%表示@comments ...您必须执行以下操作:

<% form_for :comments,:url => { :controller => :comments,:action => :update_many } do |f| %>

它会以这种方式工作

仍然不完美 – 感觉有点像我们没有做’Rails方式’.它看起来也像:post,and:delete对集合控制器也有意义.

在这里张贴,看看是否有任何我错过了设置它.关于如何安静地进行收集级别的任何其他想法:post,:put,:delete?

解决方法

我经常将基于集合的update_multiple和destroy_multiple操作添加到其他RESTful控制器.

关于通过复选框更新,请查看此Railscast.它应该让你知道如何处理它,回过头来加入这个问题,如果你遇到麻烦!

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...