所有查询默认为用户公司



我正在使用cancan,并试图让它限制为特定公司显示的设备。

我有一个公司,有很多用户应该只看到属于该公司的设备。

我认为cancan可以这样做:

Rails 3公司账户有很多用户,限制访问数据

所以我试了这个代码:

can :manage, Equipment do |equipment|
  user.company == equipment.company
end

在设备控制器中,我有@equipment = Equipment.all,我认为它只会为用户公司拉设备,但当然它会拉所有设备。是否有简单的方法来做到这一点,或者我是否需要在任何时候做@equipment = Equipment.find_by_company_id(current_user.company),我只想拉那个公司的设备。更糟糕的是,我希望最终将其按组和部门进行分解,但不想强迫自己进行更大的查找查询。我是开放的任何东西,插件,建议,无论什么将是最快的方式来解决这个问题。

我本可以在这个问题中添加更多的代码,但我不知道添加这些代码是否真的对这个问题有帮助。

Thank you very much

托比

试试Equipment.accessible_by()

https://github.com/ryanb/cancan/blob/master/lib/cancan/model_additions.rb

最新更新