0
我遇到了一个问题,与轨道cancancan管理关系的Rails
gem 'cancancan', '~> 1.10'
的cancancan宝石,我有四个型号:用户,公司,地点,团体
用户:属于公司 公司:有许多地方 地点:属于公司 组:属于位置
在能力模型,我有这样的:
can :manage, Group, :location => {:id => user.company.locations.map{|l| l.id}}
当创建我否认新组(用不上)
我正在寻找正确的方式允许用户创建一组与公司所在地的id(注一:无cancancan在这一切作品和所有ID是相关的等)。
谢谢!你的使用采摘的建议正是我一直在寻找的!但是我仍然无法创建一个组。尝试创建时,它会向我显示我无权访问该资源。 – gregwinn
嗯......只是为了仔细检查,您正尝试为属于您的用户帐户所属的公司的位置创建一个组,对吗? 因为如果cancancan设置正确,那么只有在公司的位置集合中存在location_id时才能创建组。如果您尝试创建的群组没有必要的location_id,它*应该*拒绝您。 – H12
正确,我在下面包含更多细节: def group_params params。要求(:组).permit(:姓名,:LOCATION_ID) 端 创建方法: @ group.create(group_params).save PARAMS在dev的日志发送: ' “基团”=> { “name”=>“Test”},“button”=>“”,“location_id”=>“1”}' – gregwinn