2011-11-16 47 views
1

我正在使用康康,并试图让它限制为特定公司显示的设备。所有查询默认为用户公司

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

我想康康舞能做到这一点在此基础上:

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)随时我只想拉那公司的设备。更糟糕的是,我想最终按照团体和部门进行细分,但不必强迫自己陷入更大的查询。我愿意接受任何事情,插件,建议,无论是解决这个问题的最快方法。

我可以在这个问题中添加更多的代码,但我不知道添加这一切真的会帮助这个问题。

非常感谢您

托比

回答

2
+0

这是我所得到的,当我尝试:'的accessible_by呼叫不能以块“可以”使用定义。 SQL无法确定:索引 –

+0

也许你可以在没有块的情况下重写你的定义,例如:'can:manage,Equipment,:company => user.company' –

+0

就是这样,谢谢!!!! –