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.

Reply via email to