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