【问题标题】:simple_form_for and paramssimple_form_for 和参数
【发布时间】: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


【解决方案1】:

(将其移至答案,因为似乎大多数人都同意我的建议是解决 OP 问题的方法)

一个小提示:您可以将 params 转储到浏览器中,方法是将以下内容放在您的 create 方法的开头 render :text => params.to_s and return

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-16
    • 2019-08-22
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多