Ruby on rails 声明性\u授权上的if\u属性语法问题
我有一个组织有很多附属机构 一个只有一个组织的任务 所以我可以这样做:Ruby on rails 声明性\u授权上的if\u属性语法问题,ruby-on-rails,declarative-authorization,Ruby On Rails,Declarative Authorization,我有一个组织有很多附属机构 一个只有一个组织的任务 所以我可以这样做: m = Mission.first m.organization.affiliations 用户也有很多附属关系,因此我可以: u = User.first u.affiliations 在声明性授权中,如果用户隶属于任务组织,我希望用户能够管理任务 我正在尝试这个: has_permission_on :missions, :to => [:manage] do if_attribute [:affilia
m = Mission.first
m.organization.affiliations
用户也有很多附属关系,因此我可以:
u = User.first
u.affiliations
在声明性授权中,如果用户隶属于任务组织,我希望用户能够管理任务
我正在尝试这个:
has_permission_on :missions, :to => [:manage] do
if_attribute [:affiliations, {:mission => :organization} ] => intersects_with {
user.affiliations.type_admin
}
end
但我得到了一个错误:
[:affiliations, {:mission=>:organization}] is not a symbol
语法有什么问题吗?我想这可能适合您
has_permission_on :missions, :to => [:manage] do
if_attribute :organization => { :affiliations => intersects_with { user.affiliates.type_admin } }
end
DSL编译了,但它没有给我管理任务的权限。在服务器窗口中,我看到任务和组织为零:权限被拒绝:新的不允许为#On#。如果我对组织强制拼写错误,我会得到预期的错误,并看到任务和组织对象存在。。。调用组织时出错,我知道了。。。这是一项新任务,因此没有与之相关的组织。只有当任务得救时才会发生。但这并不能解释为什么导弹和组织存在错误。。。