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