ruby-on-rails – Rails Restful actions Index Put

前端之家收集整理的这篇文章主要介绍了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.它应该让你知道如何处理它,回过头来加入这个问题,如果你遇到麻烦!

猜你在找的Ruby相关文章