Rails 会话控制器上显示的未定义方法错误



我正在构建一个应用程序,我正在尝试使用许可登录。我有建立登录和注册页面。它们的工作非常顺利,但问题是当我试图在用户输入任何错误的电子邮件或密码时显示错误时,所以我的 <% 如果 :session.errors.any? %> 不起作用。它说:session:Symbol的未定义方法"错误"
[Session_controller]

class SessionController < ApplicationController
    def new
    end
    def create
        @session = authenticate(params)
        sign_in(@session) do |status|
            if status.success?      
                redirect_to root_path
            else
                render 'new'    
            end
        end
    end
    private
          def user_params
            params.require(:session).permit(:email,:password)
          end
end


[届会/_form.html.erb]

你在 :session 上调用错误,这是一个符号。您可能想尝试在 @session 上调用错误。

未定义的方法"错误" :会话:符号

errors应该在一个新的模型实例上调用,即Model.new .您应该@session new方法中定义为Session.new,以下内容应该有效

#session_controller
def new
  @session = Session.new
end
#in the view
<% if @session.errors.any? %>

相关内容

  • 没有找到相关文章

最新更新