宣言的な承認とネストされたif_attributesのドキュメントを理解するのが難しいです。宣言的な認可if_attributeをネストしました
モデル:
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の例を理解できないようです。
ありがとうございました!