Ruby on Rails Thursday, June 30, 2011

It seems like you already have a member.

Post works for create. you should be using Put.. because it seems like
an update.

Ajit

On Jun 30, 10:34 am, Erwin <yves_duf...@mac.com> wrote:
> I defined a renew route for membership resources as following :
>
>     scope 'users' do
>       ....
>       resources :memberships  do
>         member do
>           post 'renew'
>         end
>       end
>      ....
>    end
>
> which leads to:
> renew_membership POST   (/:locale)/users/memberships/:id/
> renew(.:format) {:action=>"renew", :controller=>"memberships"}
>
> and in my view , my form helper is written as :
>         = form_for membership,  :url => renew_membership_path(membership) do |
> f|
>        ...
> generating the following HTML code :
>
> <form accept-charset="UTF-8" action="/en_GB/users/memberships/1034/
> renew" class="edit_membership" id="edit_membership_1034"
> method="post">
>
> <div style="margin:0;padding:0;display:inline">
> <input name="utf8" type="hidden" value="✓">
> <input name="_method" type="hidden" value="put">
> <input name="authenticity_token" type="hidden" value="MDNH/
> VmfJHBTgur3lksWEEuU5Rp02v70s8UFGR3hxG4="></div>
>
> submitting the form, I get a routing error :
>
> Started POST "/users/memberships/1034/renew" for 127.0.0.1 at
> 2011-06-30 16:33:08 +0200
>   Processing by ErrorsController#routing as HTML
>   Parameters: {"utf8"=>"✓", "authenticity_token"=>"MDNH/
> VmfJHBTgur3lksWEEuU5Rp02v70s8UFGR3hxG4=", "commit"=>"Renew this
> Membership",  "a"=>"users/memberships/1034/renew"}
>
> what could be wrong ?

--
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 rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

No comments:

Post a Comment