2012-01-15 3 views
0

管理者がカスタムフィールドで投稿を作成できるようにしたいが、通常のユーザーが使用するのと同じ作成アクションを使用したいと考えている。 cancanでアクションレス能力を定義する?

は、私がこれを行うために考えた:

class Ability 
    include CanCan::Ability 

    def initialize(user) 
     if user.admin? 
      can :specialize, Post 
     end 
    end 
end 

その後、私のコントローラで:ユーザーが管理者であるかどう奇妙なことが、関係なく、常にのdo_fancy_things_here実行されている

def create 
    @post = Post.new 
    if can? :specialize, @post 
     do_fancy_things_here 
    end 
end 

これは奇妙です。私がcancanマニュアルから逸脱した唯一の方法は、specializeはコントローラのアクションに実際にはマッピングされないということです。それは重要ですか?

+0

? :専門、ポスト '、あなたはまだ同じことを得るのですか? – Max

+0

同じことが= –

答えて

関連する問題