authlogic - 导致会话创建失败并且没有错误消息(带有formtastic)

时间:2010-01-12 09:04:05

标签: ruby-on-rails ruby authlogic formtastic

我有2个关于authlogic的问题:

1 - 如何导致会话创建失败(例如 - 未确认,阻止,错误传递等)在app逻辑中使用它(路由到另一个页面进行混淆,或重新输入pass等)?

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

1 个答案:

答案 0 :(得分:2)

1

如果您遵循登录网址的建议模式:

  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