这里毁坏自己的帐户限制管理员是我的代码从我的能力类的一个片段使用康康舞
if user.admin?
can :manage, :all
can :destroy, :all if != current_user
我相信你能弄清楚什么,我想在这里做。我意识到,销毁包括在管理中,我在那里重复着自己。有什么建议么?
EDIT Yjerem的回答是正确的,我只是改变它适合我的代码。这就是它的样子。
if user.admin?
can :manage, :all
cannot :destroy, User, :id => user.id
正如Yjerem还表示,在康康舞,能力优先指出的能力定义的低了下去胜过那些对他们这样管理员可以管理所有的除了什么是使用上面的代码在它之下定义。
我不认为''current_user'可以从Ability类中访问。 – mbreining 2011-05-10 21:05:01
我正在寻找他们的文档中的东西。不能相信我错过了这一点。 – 2011-05-10 21:12:47
@feelnoway'current_user'这里是传入Ability类的对象(它与您的答案中的'user'相同) – 2011-05-10 23:46:01