Fail to call

Hi, I'm trying create a user system for a future project but I have a problem when I want give to my users the "Welcome". This is my code:

#application_controller class ApplicationController < ActionController::Base   protect_from_forgery

  helper_method :current_user   private   def current_user_session     return @current_user_session if defined?(@current_user_session)     @current_user_session = UserSession.find   end   def current_user     @current_user = current_user_session && current_user_session.user   end end

#welcome_controller class WelcomeController < ApplicationController   def hi     @current_user     if (@current_user)       @welr = '¡Bienvenido' + @current_user + ' a nuestra web!'     else       @weli = "¡Bienvenido invitado, no dude en registrarse!"     end   end end

#user_sessions_controller class UserSessionsController < ApplicationController   def new     @user_session = UserSession.new   end   def create     @user_session = UserSession.new(params[:user_session])     if @user_session.save       flash[:notice] = "Estás dentro de nuestro sistema"       redirect_to root_url     else       render :action => 'new'     end   end   def destroy     @user_session = UserSession.find     @user_session.destroy     flash[:notice] = "Usted está fuera de nuestro sistema"     redirect_to root_url   end end

#hi.html.erb <h1><%= @controller.hi %></h1>

I believe that my problem are in the variable that I'm use, but I have tried with @user_session and nothing.

Anyone know?

Regards, Iván

Hi, I'm trying create a user system for a future project but I have a problem when I want give to my users the "Welcome". This is my code:

#application_controller class ApplicationController < ActionController::Base protect_from_forgery

helper_method :current_user private def current_user_session    return @current_user_session if defined?(@current_user_session)    @current_user_session = UserSession.find end def current_user    @current_user = current_user_session && current_user_session.user end end

#welcome_controller class WelcomeController < ApplicationController def hi    @current_user    if (@current_user)      @welr = '¡Bienvenido' + @current_user + ' a nuestra web!'    else      @weli = "¡Bienvenido invitado, no dude en registrarse!"    end end end

# #hi.html.erb <h1><%= @controller.hi %></h1>

I believe that my problem are in the variable that I'm use, but I have tried with @user_session and nothing.

Assuming you want to display the text stored in @weli then you should be doing <%= @weli %>

Fred

Hi Fred, I want show @weli to my guest and @welr to my users, that is why I use “if” and the variable @current_user, but, does not works.

Regars, *Iván*

Hi, I'm trying create a user system for a future project but I have a
problem when I want give to my users the "Welcome". This is my code:
#application_controller
class ApplicationController < ActionController::Base
protect_from_forgery
helper_method :current_user
private
def current_user_session
return @current_user_session if defined?(@current_user_session)
@current_user_session = UserSession.find
end
def current_user
@current_user = current_user_session && current_user_session.user
end
end
#welcome_controller
class WelcomeController < ApplicationController
def hi
@current_user
if (@current_user)
@welr = '¡Bienvenido' + @current_user + ' a nuestra web!'
else
@weli = "¡Bienvenido invitado, no dude en registrarse!"
end
end
end
#
#hi.html.erb
<h1><%= @controller.hi %></h1>
I believe that my problem are in the variable that I'm use, but I have
tried with @user_session and nothing.

Assuming you want to display the text stored in @weli then you should be doing <%= @weli %>
Fred

Anyone know?
Regards, Iván
-- 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 .
To unsubscribe from this group, send email to .
For more options, visit this group at .

Hi Fred, I want show @weli to my guest and @welr to my users, that

is why I use “if” and the variable @current_user, but, does not works.

Use current_user - you are only setting @current_user when current_user is called.

Fred.


Hi, I'm trying create a user system for a future project but I have a
problem when I want give to my users the "Welcome". This is my code:
#application_controller
class ApplicationController < ActionController::Base
protect_from_forgery
helper_method :current_user
private
def current_user_session
return @current_user_session if defined?(@current_user_session)
@current_user_session = UserSession.find
end
def current_user
@current_user = current_user_session && current_user_session.user
end
end
#welcome_controller
class WelcomeController < ApplicationController
def hi
@current_user
if (@current_user)
@welr = '¡Bienvenido' + @current_user + ' a nuestra web!'
else
@weli = "¡Bienvenido invitado, no dude en registrarse!"
end
end
end
#
#hi.html.erb
<h1><%= @controller.hi %></h1>
I believe that my problem are in the variable that I'm use, but I have
tried with @user_session and nothing.

Assuming you want to display the text stored in @weli then you should be doing <%= @weli %>
Fred

Anyone know?
Regards, Iván
-- 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](http://groups.google.com/group/rubyonrails-talk?hl=en).
      Hi Fred, I want show @weli to my guest and @welr to my users,

that is why I use “if” and the variable @current_user, but, does not works.

  Use current_user - you are only setting @current_user when

current_user is called.

Fred.

Regards, Iván

        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](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

. To unsubscribe from this group, send email to . For more options, visit this group at . Ok, thanks, before If I changed all my @current_user in welcome_controller the webpage show me an error:

can't convert User into String
But I just noticed the error, and it was because User must be

converted in String with .to_s, what I was silly :frowning:

One question more, now, this show me the welcome message correct but

no with the username, but with this:

User:0xb6cd90f4 How I can change it?

Regards, *Iván*<small><small><small><small></small></small></small></small>

What is the name of the attribute on User that holds the name? If it's called name, then you would do @current_user.name in your erb block.

Walter

Hi Walter, I think that it's current_user_session.user, but this don't work, because show me the same. I'm trying make a call or something, but nothing.

Regards, Iv�n

Hi, I'm trying create a user system for a future project but I have a problem when I want give to my users the "Welcome". This is my code:

#application_controller class ApplicationController < ActionController::Base protect_from_forgery

helper_method :current_user private def current_user_session   return @current_user_session if defined?(@current_user_session)   @current_user_session = UserSession.find end def current_user   @current_user = current_user_session && current_user_session.user end

#welcome_controller class WelcomeController < ApplicationController def hi   @current_user   if (@current_user)     @welr = '¡Bienvenido' + @current_user + ' a nuestra web!'   else     @weli = "¡Bienvenido invitado, no dude en registrarse!"   end end

# #hi.html.erb <h1><%= @controller.hi %></h1>

I believe that my problem are in the variable that I'm use, but I have tried with @user_session and nothing.

Assuming you want to display the text stored in @weli then you should be doing <%= @weli %>

Fred

Anyone know?

Regards, Iván

-- 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.

Hi Fred, I want show @weli to my guest and @welr to my users, that is why I use "if" and the variable @current_user, but, does not works.

Use current_user - you are only setting @current_user when current_user is called.

Fred.

Regards, Iván -- 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.

-- 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.

Ok, thanks, before If I changed all my @current_user in welcome_controller the webpage show me an error: can't convert User into String But I just noticed the error, and it was because User must be converted in String with .to_s, what I was silly :frowning:

One question more, now, this show me the welcome message correct but no with the username, but with this: <User:0xb6cd90f4> How I can change it?

What is the name of the attribute on User that holds the name? If it's called name, then you would do @current_user.name in your erb block.

Walter

Hi Walter, I think that it's current_user_session.user, but this don't work, because show me the same. I'm trying make a call or something, but nothing.

Regards, Iván

current_user_session.user gets you the current instance of the User model, so you need to look inside that for the name attribute. If it's called first_name, for example, then you would use current_user_session.user.first_name as your value. If it's called name, then change first_name to name. You want the value of a specific property of that instance object, not the object itself. That's the part you've been chasing your tail about here.

Walter

Yes, it's really, I had not been ocurred, I am silly, sorry. Very thanks for all the reply and the support provided. Thanks Fred, thanks Walter.

Regards, Iv�n