Strange update_attribures looping behaviour

Hello,

I'm in the process of building a site using restful_authentication with version 2.0.2 and I've got a puzzler with the update method in my user model (User) and I was wondering if someone might have some insight in to what is going on. In my Users Controller I have this update method:

class UsersController < ApplicationController ...

   def update

     if current_user.update_attributes(params[:user])        render update do |page|          page.alert('Updated')        end      else        render update do |page|           page.alert('Error')      end

   end

Which is called via form_remote_tag from a user's profile page:

form_remote_tag(:url => { :controller => 'users', :action => :update }, :method => :put) do         text_field :user, 'gender', :size => 20, :maxlength => 40 end

I was originally looking to use this for a plaintext password that gets encrypted (per the standard way it is done in restful_authentication), and so was using text_field :user, 'password' and ... 'password_confirmation'. However, I've been unable to make it work even with simple data types (like the gender example, above). What happens is that the update method goes into a loop as soon as it is called. If the data is valid, it does update it, but the loop never stops. If the data is invalid, it continually reselects the user. Either way, I have to kill rails to regain control.

It doesn't matter what is in the model or the controller and, although I've got a :collection on the route, it does not matter if I remove it and use a standard map.resources :users. The loop always happens. Stranger still, it does not do it with any other controller--I have tried substituting the target of the form to other attributes on other controllers and they worked fine.

I was wondering if anyone might have any insight into what was going on here?

Hello,

I'm in the process of building a site using restful_authentication with version 2.0.2 and I've got a puzzler with the update method in my user model (User) and I was wondering if someone might have some insight in to what is going on. In my Users Controller I have this update method:

class UsersController < ApplicationController ...

  def update

    if current_user.update_attributes(params[:user])       render update do |page|         page.alert('Updated')       end     else       render update do |page|          page.alert('Error')     end

You need render :update render update causes ruby to execute the update method recursive ly

Fred

Frederick,

That was it! Thanks!

Best, Todd