Why don't you create a controller for 'reset_password', using RESTfull
methods. Use 'new' action for the GET and 'update' for PUT.

2009/12/13 João Pereira <[email protected]>

> Ok, thank you. My form is not AJAXified. I managed to fix the problem. It
> probably has something to do with the rendering of the form using form_tag.
> If I have hardcoded the hidden field, everything is fine:
>
> <%=password_field_tag :password_confirmation, @password_confirmation %>
>
> This is a hack and I would like to know if you now something about this.
>
>
>
>
> On Sun, Dec 13, 2009 at 5:01 AM, [email protected] <
> [email protected]> wrote:
>
>> there is a bug in 2.3.4 that breaks PUTs in Ajax calls, this could be your
>> issue
>>
>>
>> https://rails.lighthouseapp.com/projects/8994/tickets/2448-rails-23-json-put-request-routing-is-broken
>>
>> On Sat, Dec 12, 2009 at 10:57 PM, Jeffrey L. Taylor
>> <[email protected]> wrote:
>> > Try ':method => :put' (without the quotes).  Rails is not always
>> consistent.
>> > Some places either strings or symbols work, other places they don't.
>> >
>> > HTH,
>> >  Jeffrey
>> >
>> > Quoting Jonhy Pear <[email protected]>:
>> >> I made some researche and found in Ruby on Rais guides that I'm doing
>> the
>> >> correct thing... but I'm not getting the correct results. I know I'm
>> missing
>> >> something...  what is?
>> >>
>> >>
>> http://guides.rubyonrails.org/form_helpers.html#how-do-forms-with-put-or-delete-methods-work
>> >>
>> >> <
>> http://guides.rubyonrails.org/form_helpers.html#how-do-forms-with-put-or-delete-methods-work
>> >Can
>> >> you help?
>> >>
>> >> On Sat, Dec 12, 2009 at 8:22 PM, Jonhy Pear <[email protected]>
>> wrote:
>> >>
>> >> > Hi,
>> >> >
>> >> > I'm trying to emulate a post from a HTML form. I've the following
>> code in
>> >> > erb:
>> >> >
>> >> > <h1>Alterar Password</h1>
>> >> > <% form_tag :action=>"reset_password", :method=>"put" do%>
>> >> > <p>
>> >> >     <%=label_tag :password, "Nova password" %>
>> >> > </p>
>> >> > <p>
>> >> >     <%=password_field_tag :password, @password %>
>> >> > </p>
>> >> > <p>
>> >> >     <%=label_tag :password_confirmation, "Confirmação Password" %>
>> >> > </p>
>> >> > <p>
>> >> >     <%=password_field_tag :password_confirmation,
>> @password_confirmation %>
>> >> > </p>
>> >> > <%=submit_tag "Alterar Password" %>
>> >> > <%end %>
>> >> >
>> >> > In my action I have something similar to this:
>> >> >
>> >> >
>> >> >   def reset_password
>> >> >     if request.get?
>> >> >           #do something for get
>> >> >     elsif request.put?
>> >> >      #do something for put
>> >> >     else
>> >> >       raise Webapp::BadRequestError
>> >> >     end
>> >> >
>> >> >   rescue Webapp::BadRequestError
>> >> >     logger.error("Invalid Request type. Client IP:
>> "+request.remote_ip)
>> >> >     flash_error(:invalid_request)
>> >> >     redirect_to root_url
>> >> > end
>> >> >
>> >> > I've functional tests for put and get, and everything is fine. But
>> when the
>> >> > form is rendered and tested in a browser I can't get this working. In
>> >> > Firefox, the output for the erb is something like:
>> >> >
>> >> > <form
>> >> >
>> action="/user/reset_password/1/dd98e038fe7ab8570373307dfa710ecd86e782b00704dd172e546379acbf0a54?method=put"
>> >> > method="post"><div style="margin:0;padding:0;display:inline"><input
>> >> > name="authenticity_token" type="hidden"
>> >> > value="rOSsudVMJFZctILVNtSIyCfwJPvX4XOiUuLFxwZgyIA=" /></div>
>> >> > <p>
>> >> >     <label for="password">Nova password</label>
>> >> > </p>
>> >> > <p>
>> >> >     <input id="password" name="password" type="password" value="" />
>> >> > </p>
>> >> > <p>
>> >> >     <label for="password_confirmation">Confirmação Password</label>
>> >> > </p>
>> >> > <p>
>> >> >     <input id="password_confirmation" name="password_confirmation"
>> >> > type="password" value="" />
>> >> > </p>
>> >> > <input name="commit" type="submit" value="Alterar Password" />
>> >> > </form>
>> >> >
>> >> > Everytime I submit the form I then hit in the Webapp::BadRequestError
>> >> >
>> >> > Can someone help me get over this?
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> João Miguel Pereira
>> >> http://jpereira.eu
>> >> LinkedIn: http://www.linkedin.com/in/joaomiguelpereira
>> >> [email protected]
>> >> (351) 96 275 68 58
>> >>
>> >> --
>> >>
>> >> 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]<rubyonrails-talk%[email protected]>
>> .
>> >> For more options, visit this group at
>> http://groups.google.com/group/rubyonrails-talk?hl=en.
>> >>
>> >>
>> >
>> > --
>> >
>> > 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]<rubyonrails-talk%[email protected]>
>> .
>> > For more options, visit this group at
>> http://groups.google.com/group/rubyonrails-talk?hl=en.
>> >
>> >
>> >
>>
>> --
>>
>> 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]<rubyonrails-talk%[email protected]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/rubyonrails-talk?hl=en.
>>
>>
>>
>
>
>  --
> 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]<rubyonrails-talk%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/rubyonrails-talk?hl=en.
>



-- 
Andrei Erdoss

--

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