が属しているアプリにUser
取り組んでいOrganization
ます。テーブルを介して、 has_and_belongs_to_manyOrganization
製品organizations_products
。
User
特定の役割を持つ が の製品を管理できるようにしたいと考えていOrganization
ます。でability.rb
:
def initialize(user)
# ...snip unrelated stuff
elsif user.is_manager?
can :manage, Product, do |product|
user.organization.products.include?(product)
end
これは私がやりたいことを説明していますが、製品コントローラーで例外が発生します:
def index
@products = Product.accessible_by(current_ability)
end
アビリティ定義acessible_by
のブロックでは使用できないためです。と互換性のある方法でこの能力をどのように書くことができaccessible_by
ますか?