Here is an advise for "What is the Restful manner for updating a collection?"
http://rails-bestpractices.com/questions/3-what-is-the-restful-manner-for-updating-a-collection On 8月9日, 下午5时52分, Chris Mear <[email protected]> wrote: > On 7 August 2010 22:07, Tim Harding <[email protected]> wrote: > > > > > Today I added a checkbox to each row of a table and a save button, to > > perform an Archive operation on N items in the table. > > > This is essentially an update of the collection. > > > My initial thought was to PUT to students_path but only GET and POST > > are allowed using the Rails RESTful routing. > > > I wound up adding an :collection => {:update_all => :put} to the > > students routing and added an appropriate controller method. > > > I'm not terribly happy with this, stylistically, though, > > pragmatically, it works. > > > What is the proper way to manage an update to a collection w/o having > > to add an addition method to my controller? > > I don't think you can avoid having an additional method in the > controller -- after all, the code required to update the collection is > going to be different from any of your other actions. But you can > avoid exposing the name of that new method in the URL. > > I would try manually defining a new PUT route outside of the existing > resource map: > > map.connect 'students', :controller => 'students', :action => > 'update_collection', :conditions => {:method => :put} > > That should route correctly if you have a form with :url => > students_path, :method => :put. > > There may be a cleverer/neater way to do this within the resource map > itself, but this at least is a good first thing to try. > > Chris -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

