simple_form_for和params

时间:2012-07-13 12:45:01

标签: ruby-on-rails ruby simple-form

我有一个愚蠢的问题:

= 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

看起来我在params中没有电子邮件和密码,因为在rails控制台中一切都运行良好。有人可以解释一下:会话在我的表单中是什么意思,我怎样才能收到我的电子邮件和passowrd?

1 个答案:

答案 0 :(得分:1)

(将其转为答案,因为看起来多数人同意我所建议的解决OP的问题)

小提示:您可以将以下内容放入创建方法params的开头,将render :text => params.to_s and return转储到浏览器中。 < / p>

您可能需要在params[:session][:email]方法中引用params[:session][:password]create

form_for的第一个参数中的符号是well documented;请参阅通用form_for