Как вы поступаете с разрешением: create в канкане, которое определяется родительским объектом?

Допустим, вы пишете программное обеспечение для Blogger.

Каждый пользователь может создать сообщение в блоге, только если он является владельцем блога. CanCan обычно определяет проверку способностей в этом случае как:

user.can? :create, Post

Однако пользователь может создать сообщение только в том случае, если он является владельцем текущего блога, и нет возможности ссылаться на текущий блог, используя только его имя класса. Что мне действительно нужно уметь делать, так это:

user.can? :create, Post, @current_blog

чтобы в определениях канкана я мог сказать

can :create, Post do |post, blog|
  user == blog.owner
end

Возможно ли это, или я не понимаю, как я к этому подхожу?

7
задан Peter Nixey 21 February 2012 в 09:46
поделиться

0 ответов

Другие вопросы по тегам:

Похожие вопросы: