【发布时间】:2012-07-13 12:45:01
【问题描述】:
我有一个愚蠢的问题:
= simple_form_for :session, url: :sessions do |f|
= f.input :email
= f.input :password
= f.button :submit, 'Sign in!'
def create
user = User.find_by_email(params[:email])
if user && user.authenticate(params[:password])
session[:user_id] = user.id
redirect_to root_path, :notice => "Logged in!"
else
flash.now.alert = "Invalid email or password"
render "new"
end
end
看起来我在参数中没有电子邮件和密码,因为在 Rails 控制台中一切正常。有人可以解释一下我的表单中的 :session 是什么意思吗?我怎样才能得到我的电子邮件和密码?
【问题讨论】:
-
一个小提示:您可以将
params转储到浏览器中,方法是将以下内容放在您的create方法render :text => params.to_s and return的开头。可能需要参考params[:session][:email]和params[:session][:password]
标签: ruby-on-rails ruby simple-form