4

AuthLogic と current_user に少し問題があります。

Cairngorm フレームワークをフロントエンドとして使用し、Ruby On Rails をバックエンドとして使用する Flex4 アプリケーションがあります。

RORのみを使用している場合、ブラウザから正常にログインできます。ただし、Flex4 アプリケーションで試してみると、最初は失敗しますが、2 回目は機能します。

何が起こっているかは、user_sessions_controller.rb の中にあります。

self.current_user.to_xml;

create アクションを初めて呼び出すと、current_user オブジェクトは nil を返します。(サーバーまたはブラウザを再起動せずに)2回目に呼び出すと、適切な現在のユーザーになります。

したがって、これにより、作成アクション内のレンダリングコマンドの後に current_user が設定されていると思われます。

作成アクションで現在のユーザーを返すために Rails コントローラーが必要な場合、どうすればよいでしょうか?

4

2 に答える 2

2

user_sessions_controller.rbまったく同じ問題が発生していました...なぜこれが起こるのかわかりませんが、以下のように解決された私の作成メソッドで current_user を呼び出そうとしていました...

  def create
    @user_session = UserSession.new(params[:user_session])

    if @user_session.save
      current_user = UserSession.find.user
      current_user.increment_login_count_for_current_memberships!
      flash[:notice] = 'Sign in successful.'
      redirect_to root_path
    else
      render action: "new"
    end
  end

お役に立てれば!

于 2012-04-11T00:03:47.803 に答える