0

我正在构建一个应用程序,我正在尝试使用许可登录。我已经构建了登录和注册页面。它们工作得非常顺利,但问题是当我试图在用户输入任何错误的电子邮件或密码时显示错误,所以我的<% if :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]

4

2 回答 2

1

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

于 2016-02-24T05:55:43.640 回答
0

:session:Symbol 的未定义方法“错误”

errors应该在新模型实例上调用,即Model.new. 你应该在方法中@session定义,下面应该工作Session.newnew

#session_controller
def new
  @session = Session.new
end

#in the view
<% if @session.errors.any? %>
于 2016-02-24T05:56:21.947 回答