Strange update_attribures looping behaviour


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|
   render update do |page|


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

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?

On 19 Dec 2007, at 14:26, tatyree wrote:


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



That was it! Thanks!


This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs