2

我有 2 个关于 authlogic 的问题:

1 - 如何获取会话创建不成功的原因(例如 - 未确认、阻止、错误通行证等)以在应用程序逻辑中使用它(路由到另一个页面进行确认,或重新输入通行证等)?

2 - 关于集成formtastic和authlogic的问题。当未提供登录和通过时,如何在会话创建时显示错误消息。每次我提交空表单 - 没有任何错误消息(但 form.error_messages 显示您必须输入登录名并通过),但如果提供了一个字段(登录名或通过) - 一切正常。

4

1 回答 1

2

1:

如果您遵循登录 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
于 2010-01-12T17:12:38.773 回答