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.
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 %>
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.
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
One question more, now, this show me the welcome message correct but
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.
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
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.