1

Rails Composerを使用して、devise、rolify、cancan の各 gem を使用する Rails アプリケーションを生成しました。

current_user メソッドを利用できることに注意しました。

Textmate で cmd-shif-F を使用してプロジェクトを検索すると、 current_user が定義されている場所が見つかりません。独自の認証ロジックの例をいくつか試してみましたが、アプリケーション コントローラーで current_user を設定するのは一般的なようです。私のアプリにはそのようなコードはありません。

それでも、current_user が機能し、有効であることを確認できます。

This SO Q/A hereはいくつかのコードを指していますが、わかりません。current_user は、何らかのメタプログラミングの魔法の結果である生成されたメソッドのようです。それでも、アプリケーション コントローラーの before フィルターで参照されていない場合、どのように機能するのでしょうか?

ごく単純な application_controller.rb は次のようになります。

class ApplicationController < ActionController::Base
  protect_from_forgery

  rescue_from CanCan::AccessDenied do |exception|
    redirect_to root_path, :alert => exception.message
  end

end
4

0 に答える 0