2012-05-28 121 views
0

我已經使用以下鏈接實施了帶有active_admin的cancan。 https://github.com/gregbell/active_admin/wiki/How-to-work-with-cancanCancan與active_admin無法正常工作

只是在我的情況下,唯一的變化是下面的書面代碼。 應用程序/模型/ ability.rb

class Ability 
    include CanCan::Ability 

    def initialize(user) 

    user ||= AdminUser.new # guest user (not logged in) 

    if user.id == 1 
     can :manage, :all  
     puts ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> manage all" 
    else 
     can :read, :all 
     puts ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> read all" 
    end 
    end 
end 

有關user.id.現在只是把條件 所以當我運行我的應用程序時,我可以看到我的提示是正確的登錄。

問:

  • 所以,如果我有用戶衛生組織user.id登錄= 1,那麼我也可以管理我的active_admin所有模塊。 cancan能力不適合我。

使用Rails 3.1.1,1.6.7康康舞(總之我可以代碼是不是在任何條件下工作),activeadmin 0.4.4,1.9.3紅寶石

其次命令在鏈接正確,雙重檢查。

在AdminUser中使用了authorize_resource。

使用socery沒有設計,這件事影響了康康?

+0

「慘慘不與康康舞工作以及」過嗎? – Chowlett

+0

抱歉沒有找到你? @Chowlett – chaitanya

+0

您似乎在說明康康不會與自己進行互操作。我質疑這實際上是你的意思,還是你犯了一個錯字。 – Chowlett

回答

1

我寫的代碼如下每個模型/管理

然後我在能力模型條件下開始工作。

menu :if => proc{ can?(:manage, #ModelName) }  
    controller.authorize_resource 

張貼這個問題,我只是寫了上面的代碼只能在管理員用戶