我有 2 个关于 authlogic 的问题:
1 - 如何获取会话创建不成功的原因(例如 - 未确认、阻止、错误通行证等)以在应用程序逻辑中使用它(路由到另一个页面进行确认,或重新输入通行证等)?
2 - 关于集成formtastic和authlogic的问题。当未提供登录和通过时,如何在会话创建时显示错误消息。每次我提交空表单 - 没有任何错误消息(但 form.error_messages 显示您必须输入登录名并通过),但如果提供了一个字段(登录名或通过) - 一切正常。
我有 2 个关于 authlogic 的问题:
1 - 如何获取会话创建不成功的原因(例如 - 未确认、阻止、错误通行证等)以在应用程序逻辑中使用它(路由到另一个页面进行确认,或重新输入通行证等)?
2 - 关于集成formtastic和authlogic的问题。当未提供登录和通过时,如何在会话创建时显示错误消息。每次我提交空表单 - 没有任何错误消息(但 form.error_messages 显示您必须输入登录名并通过),但如果提供了一个字段(登录名或通过) - 一切正常。
如果您遵循登录 url 的建议模式:
def create
@user_session = UserSession.new(params[:user_session])
if @user_session.save
redirect_to your_url
else
render :action => 'new'
end
end
var将@user_session
可用于您的new
模板。您可以使用 访问任何登录错误@user_session.error_messages
。我相信返回格式化的 HTML,而不是数组。
更新
根据文档,Authlogic 错误的行为与活动记录完全相同,因此,为了映射您的控制器逻辑,您可以执行类似的操作
if @user_session.save
# Normal flow
else
if @user_session.errors.on(:password)
# do something
else
# do something else
end
end