Çok sayıda kaydı bir kerede güncellemek istediğim bir durumla karşılaştım - GMail, "read" (okuma) veya "read" (okunmamış) mesajlarını ayarlamak gibi.Raylar Restful actions Endeks Koymak
Raylar bir ActiveRecord sınıfına 'güncelleme' yöntemi ile bu teşvik - Comment.update (anahtarlar, değerler)
Örnek - http://snippets.dzone.com/posts/show/7495
bu büyük işlevsellik, ancak sert dinlendirici rotaya haritasına etmektir . Bir bakıma şunu görmek isterdim: Bir koleksiyon üzerinde harekete geçmek. yolları, biz formda sonra
map.resources :comments, :collection => { :update_many => :put }
gibi bir şey eklemek Ve yapabilirsiniz, bu pek çok düzeyde çalışmıyor
<% form_for @comments do |f| %>
...
... Bu yapardım. Bunu yaparsanız:: collection => {: update_many =>: put}, raylar dizin eylemine bir gönderi gönderecek (CommentsController # index), 'update_many' eylemine gitmek istiyorum. Bunun yerine, şunları yapabilirsiniz: collection => {: update_many =>: post}. Bu, en azından kontrol cihazında doğru harekete geçecektir. @comments için
Ve yerine <% formu ... aşağıdakileri yapmanız gerekir:
<% form_for :comments, :url => { :controller => :comments, :action => :update_many } do |f| %>
Tamam bu şekilde Hala
mükemmel değil çalışacaktır - biz gibi küçük hissediyor 'Raylar yolu' yapmıyoruz. Ayrıca, şu şekilde görünüyor: gönderi ve: sil, koleksiyon denetleyicisinde de anlamlı olur.
Bunu kurmak için kaçırdığım bir şey olup olmadığını görmek için burada gönderiyorum. Bir toplama seviyesinde nasıl rahatça yapılacağına dair başka düşünceleriniz: gönder,: koy,: sil?
ben cevabım şu sorunuzu ilham sorununa başka bir çözüm sağlıyordu biliyoruz. Bunu yansıttım. – EmFi