def update
@album = Album.find(params[:id])
if @album.update_attributes(params[:album])
redirect_to(:action=>'list')
else
render(:action=>'edit')
end
end
A Rails 1.1.6 tutorial that I'm covering recommends using the update_attributes
method for updating a model, as in the example code from my controller listed above. Looking at the Rails documentation I'm wondering why the update
method would not have been preferred, especially since it is named so logically.
Using update_attributes method just suppose that you already have an object, and you would just pass the set of attributes. And the work is done !
Update takes an object
id
parameter and a set of attributes that otherwise work likeupdate_attributes
.So this (from AWDWR 3rd edition)
is equivalent to
So if all you want to do is update a row of known id with a set of attributes then I'd say there's no reason not to use
update
- it looks like that's the reason they wrote it!(Is there any way you can get your tutorial to upgrade from 1.1.6? It's pretty old and wasn't a particularly earth-shattering release when it was current. 1.2.6 was better - the last of the 1.xs, if I remember correctly).