我試圖解決用燦燦寶石的用戶的能力問題。 公司和用戶通過user_company_assignment進行關聯,使公司擁有許多用戶,並且用戶擁有並屬於許多公司 我想將公司的展示行爲僅限於與公司關聯的用戶。下面是兩個模型的代碼和一個能夠爲初始化角色繼承和賣方用戶的方法的能力分析器,但這不起作用,它總是向我顯示公司的細節。鐵軌和康康 - 如何通過協會限制公司展示行動給用戶在has_many
Company.rb
has_many :user_company_assignments
has_many :user, :through => :user_company_assignments
User.rb
has_many :user_company_assignments
has_many :companies, :through => :user_company_assignments
Ability.rb
def initialize(user)
@user = user || User.new # for guest
@user.roles.each { |role| send(role.name.downcase) }
end
def seller
can :manage, :all
cannot :destroy, :all
can :show, Company do |company|
company.user_ids.include? @user.id
end
end
它的偉大工程!謝謝Jesper! – davelab 2013-02-20 14:35:17