微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.它应该让你知道如何处理它,回过头来加入这个问题,如果你遇到麻烦!

原文地址:https://www.jb51.cc/ruby/267837.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐