が属しているアプリに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ますか?