我正在使用cancan并尝试将其限制为特定公司显示的设备。
我的公司有很多用户,只能看到属于该公司的设备。
我认为康康可以基于此做到这一点:
Rails 3 company account with many users, restrict access to data
所以我尝试了这段代码:
can :manage, Equipment do |equipment|
user.company == equipment.company
end
在设备控制器中我有@equipment = Equipment.all
,我认为这只会为该用户公司提供设备,但当然它会全部拉动它们。有没有一种简单的方法可以做到这一点,或者我需要随时做@equipment = Equipment.find_by_company_id(current_user.company)
我想要拉动那些公司的设备。为了使这更糟糕,我希望最终由组和部门分解,但宁愿不必强迫自己进入更大的查找查询。我对任何事情,插件,建议都持开放态度,无论什么都是解决这个问题的最快方法。
我本来可以为这个问题添加更多代码,但我不知道添加它会对这个问题有所帮助。
非常感谢
托比
答案 0 :(得分:2)
尝试Equipment.accessible_by()
https://github.com/ryanb/cancan/blob/master/lib/cancan/model_additions.rb