Rails Ações tranquilas Index Put

Frequentemente, encontro a situação em que quero atualizar muitos registros de uma só vez - como o GMail faz ao definir muitas mensagens "lidas" ou "não lidas"

@Rails incentiva isso com o método 'update' em uma classe ActiveRecord - Comment.update (keys, values)

Example -http: //snippets.dzone.com/posts/show/749

Esta é uma ótima funcionalidade, mas difícil de mapear para uma rota tranquila. De certa forma, eu gostaria de ver um: colocar ação em uma coleção. Nas rotas, podemos adicionar algo como

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

E então, no formulário, você faria isso ...

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

Isso não funciona em muitos níveis. Se você fizer isso:: collection => {: update_many =>: put}, o rails enviará uma postagem para a ação do índice (CommentsController # index), quero que vá para a ação 'update_many'. Em vez disso, você pode fazer uma: coleção => {: update_many =>: post}. Isso irá, pelo menos, para a ação correta no controlado

E, em vez do formulário <% para @ comentários ..., você deve fazer o seguinte:

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

Funcionará bem desta maneira

Ainda não é perfeito - parece um pouco como se não estivéssemos fazendo o 'caminho Rails'. Também parece que: post e: delete também faria sentido em um controlador de coleçã

Estou postando aqui para ver se há algo que eu perdi ao configurar isso. Quaisquer outros pensamentos sobre como realizar um nível de coleta tranqüilamente: post,: put,: delete?

questionAnswers(2)

yourAnswerToTheQuestion