我有这样的多对多关系:用户通过附属机构拥有多个组织,反之亦然。
我正在使用声明性组织,并且我只希望用户编辑一个特定的组织,如果他是附属的并且附属的 affiliationtype 属性是一个特定的值。
所以 affiliations 有 3 列,user_id、organization_id 和 affiliationtype_id
我可以:
o = Organization.find(:first)
o.affiliatons[0].user and get the user
现在我希望这样做:
has_permission_on [:organizations], :to => :edit do
if_attribute (...)
end
if_attribute 应该查看当前用户是否是 organization.affiliation[?].user 以及 organization.affiliation[?].affiliationtype_id = "3"
我希望这是语法问题......我真的需要让它工作。