Exception: can't dup Symbol

Hey everybody,

I'm trying to test a little piece of code I wrote, and I get the following error:

Exception: can't dup Symbol

It happens in the following line: try_to_login @valid_user, :remember_me => "1", where the function try_to_login is:

def try_to_login(user, options = {})     user_hash = {:screen_name => user.screen_name, :password => user.password}     user_hash.merge!(options)     post :login, :user => :user_hash     assert logged_in? end

I can't isolate the error, can anybody throw some light on it?

Thanks a lot in advance!

Hi,

It looks like maybe issue with passing the remember_me as part of params[:user] ... can you post your controller's action handling this request ?

regards, Sur http://rubyonrailshacks.com

Manu Lorenzo wrote:

Sur Max wrote:

Hi,

It looks like maybe issue with passing the remember_me as part of params[:user] ... can you post your controller's action handling this request ?

regards, Sur http://rubyonrailshacks.com

Manu Lorenzo wrote:

Hey everybody,

I'm trying to test a little piece of code I wrote, and I get the following error:

Exception: can't dup Symbol

It happens in the following line: try_to_login @valid_user, :remember_me => "1", where the function try_to_login is:

def try_to_login(user, options = {})     user_hash = {:screen_name => user.screen_name, :password => user.password}     user_hash.merge!(options)     post :login, :user => :user_hash     assert logged_in? end

I can't isolate the error, can anybody throw some light on it?

Thanks a lot in advance!

def login     @title = "Log in to RailsSpace"     if request.get?       @user = User.new(:remember_me => cookies[:remember_me] || "0")     elsif param_posted?(:user)       @user = User.new(params[:user])       user = User.find_by_screen_name_and_password(@user.screen_name,@user.password)       if user         user.login!(session)         if @user.remember_me == "1"           cookies[:remember_me] = { :value => "1", :expires => 10.years_from_now }           user.authorization_token = Digest::SHA1.hexdigest("#{user.screen_name}:#{user.password}")           user.save!           cookies[:autorization_token] = { :value => user.authorization_token, :expires => 10.years_from_now }         else           cookies.delete(:remember_me)           cookies.delete(:authorization_token)         end         flash[:notice] = "User #{user.screen_name} logged in!"         redirect_to_forwarding_url       else         @user.clear_password!         flash[:notice] = "Invalid screen name/password combination"       end     end   end

You meant to write :user => user_hash

Fred

Frederick Cheung wrote: