所有查询都默认为用户公司

时间:2011-11-16 20:41:28

标签: ruby-on-rails-3.1 cancan

我正在使用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)我想要拉动那些公司的设备。为了使这更糟糕,我希望最终由组和部门分解,但宁愿不必强迫自己进入更大的查找查询。我对任何事情,插件,建议都持开放态度,无论什么都是解决这个问题的最快方法。

我本来可以为这个问题添加更多代码,但我不知道添加它会对这个问题有所帮助。

非常感谢

托比

1 个答案:

答案 0 :(得分:2)