2012-03-14 11 views
0

私は私のユーザーモデルで定義されている2つの役割があります。私のアプリケーションコントローラRailsの3.2 - アプリケーションコントローラ+工夫CURRENT_USER問題

User.role == admin 
or 
User.role == basic 

のlib/mobilized_controller.rbで
include MobilizedController 

module MobilizedController 
    extend ActiveSupport::Concern 

    included do 
    before_filter :set_basic_request, :if => :basic_logged_in? 
    end 

    private 

    def set_basic_request 
    request.format = :basic 
    prepend_view_path "app/views/basic" 
    end 

    def basic_logged_in? 
    current_user.role == 'basic' 
    end 
end 

これは、ログインしても問題ありません.Mime Typeを正しく設定して、基本ビューをレンダリングします。残念ながら 、私は私にはログインしていないよ取得:

nilのための未定義のメソッドの役割を ':私はCURRENT_USERが設定され、したがって、上のnilを呼び出していないことを意味を推測NilClass

それは動作しません。

誰にもこれに関する提案はありますか?ユーザーがログインしていない場合はデフォルトのログインをページに表示し、ログイン時にはMime Typeを設定する必要があります。

助けが必要ですか?

答えて

0

basic_logged_inの例では、current_user.roleをbasicに設定します。管理者またはログインしていないユーザーの役割を設定していないようです。

ログインしていないかadminとしてログインしていると、current_user.roleは設定されません。