RoR + CanCan:在一行中检查嵌套条件

时间:2013-03-12 14:42:40

标签: ruby-on-rails ruby-on-rails-3 cancan

我有User和Post模型。用户有很多帖子,帖子属于用户。我希望允许管理员仅在他没有帖子的情况下删除用户,所以现在我有了我的能力.rb:

can :destroy, User do |u|
    u.posts.empty?
end

但是我可以在一行(类似can :destroy, User, :posts => empty?)中写这个吗?

2 个答案:

答案 0 :(得分:3)

您可以使用单行块

can(:destroy, User) { |u| u.posts.empty? }

答案 1 :(得分:0)

试试这个:

can :destroy, User {|u| u.posts.empty? }