laredotornado-8iDLEspWrrZBDgjK7y7TUQ@public.gmane.org
2008-Jan-28 20:40 UTC
Why are parameter values getting lost?
Hi,
I have this login form (app/views/register/start.rhtml):
<% form_tag ''session/new'' do -%>
<p><label for="login">Login</label><br/>
<%= text_field_tag ''login'' %></p>
<p><label for="password">Password</label><br/>
<%= password_field_tag ''password'' %></p>
<p><%= submit_tag ''Log in'' %></p>
<% end -%>
But it seems when my form is getting processed by my app/controllers/
session_controller.rb controller, the value of the login parameter is
NULL. Here''s the controller code and the entry from the log file:
===============controller code=============================== def create
self.current_user = User.authenticate(params[:login],
params[:password])
if logged_in?
if params[:remember_me] == "1"
self.current_user.remember_me
cookies[:auth_token] = { :value =>
self.current_user.remember_token , :expires =>
self.current_user.remember_token_expires_at }
end
# The next two lines were added 1/24/08
@user = User.find(:first, :conditions => ["login = ?",
params[:login]])
session[:user_id] = @user.id
flash[:notice] = "Logged in successfully"
redirect_to :controller => ''order'', :action =>
''start''
else
flash[:error] = "Authentication failed."
redirect_to :controller => ''register'', :action =>
''start''
end
end
================end controller code===========================
===============Log file entry begin ============================Processing
SessionController#new (for 67.190.94.163 at 2008-01-28
11:00:03) [POST]
Session ID: ed02a351a99f5581a92ac20208cad3b7
Parameters: {"commit"=>"Log in",
"action"=>"new",
"controller"=>"session",
"login"=>"abc", "password"=>"abc"}
Redirected to http://remandev.no-ip.org:3000/session/create
Completed in 0.00217 (461 reqs/sec) | DB: 0.00000 (0%) | 302 Found
[http://remandev.no-ip.org/session/new]
Processing SessionController#create (for 67.190.94.163 at 2008-01-28
11:00:04) [GET]
Session ID: ed02a351a99f5581a92ac20208cad3b7
Parameters: {"action"=>"create",
"controller"=>"session"}
^[[4;36;1mUser Columns (0.005551)^[[0m ^[[0;1mSHOW FIELDS FROM
users^[[0m
^[[4;35;1mUser Load (0.003246)^[[0m ^[[0mSELECT * FROM users WHERE
(users.`login` IS NULL) LIMIT 1^[[0m
Redirected to http://remandev.no-ip.org:3000/
Completed in 0.02045 (48 reqs/sec) | DB: 0.00880 (43%) | 302 Found
[http://remandev.no-ip.org/session/create]
========================End log
file================================================
Why is the parameter value getting lost?
Thanks, - Dave
--~--~---------~--~----~------------~-------~--~----~
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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
i''m pretty sure it''s to do with the bit when you redirect to ''create'' i''m not sure why you''re doing it like that but to keep hold of the params i think you need to put them in local(?) variables....when you receive them in new you need to say, for example, @login = params[:login], @password = params[:password], then I THINK you''ll be able to see these variables in your create action -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---