I am doing the following:
link_to “delete my avatar”, user_pictures_path(:user_id => @user, :id => @user.pictures.last), :method => :delete
and it is creating the following link:
http://127.0.0.1:3000/users/4/pictures?id=10
Two things:
- shouldn’t it create the following URL?
http://127.0.0.1:3000/users/4/pictures/10
i.e. not the ?id=10 but just /10?
- Is there a cleaner way of building the url?
Thanks
If you are using nested routes like this:
map.resources :users do |user|
user.resources :pictures
end
Then you should be able to do this:
link_to “delete my avatar”, user_pictures_path(@user, @user.pictures.last), :method => :delete
Michael Bleigh
michael@intridea.com
When I do that I get the following error:
undefined method `has_key?' for #<Picture:0x266d170>
when I do it my way I do not get an error but the id of the picture gets passed in querystring instead of URL… any suggestions peeps?
bigbanger
(bigbanger)
4
I think you want this instead
user_picture_path(@user, @user.pictures.last) <== Note: singular form
of 'picture' in the method name.