2

authlogic について 2 つの質問があります。

1 - セッションの作成に失敗した原因 (たとえば、確認されていない、ブロックされている、間違ったパスなど) を取得して、アプリのロジックで使用する方法 (確認のために別のページにルーティングするか、パスを再入力するなど)?

2 - formtastic と authlogic の統合に関する質問。ログインとパスが提供されていない場合に、セッションの作成時にエラー メッセージを表示する方法。空のフォームを送信するたびに-エラーメッセージはありません(ただし、form.error_messagesは、ログインとパスを入力する必要があることを示しています)が、フィールド(ログインまたはパス)の1つが提供されている場合-すべて正常に機能します.

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 を返すと思います。

アップデート

docsによると、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 に答える