宣言型承認とネストされたif_attributesのドキュメントを理解するのに少し苦労しています。
モデル:
class Company < ActiveRecord::Base
has_many :users, :through => :division
end
class Division < ActiveRecord::Base
belongs_to :company
has_many :users
end
class User < ActiveRecord::Base
belongs_to :post
end
私のルール:
role :company_admin do
includes :company_admin
has_permission_on :companies, :to => [:index, :show, :edit, :update] do
if_attribute :id => is { user.division.company.id } # This is the problem....
end
私の階層には、自分の会社とすべての部門およびユーザーの編集を許可する必要があるcompany_adminロールが定義されています。会社の管理者の上に別の役割があり、会社を完全に編集および追加する機能と、以下のすべての役割があります。
私がハングアップしているように見えるのは、上記のルールです(これは正しくないことはわかっていますが、例としては単なるフィラーです)。現在のユーザーは自分の会社のみを編集でき、他の会社は編集できないことを確認する必要があります。これはネストされたif_attributeのようですが、ドキュメントのネストされたif_attributesの例を理解できないようです。
よろしくお願いします!