7
我有這樣的多對多關係: 用戶has_many組織通過從屬關係,反之亦然。if_attribute聲明授權
我正在使用聲明式組織,並且我只希望用戶編輯特定組織,如果他隸屬於並且聯盟的聯屬類型屬性是特定值。
所以隸屬關係有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」
我希望這是語法問題...我真的需要得到這個工作。
我能找到的用戶,並驗證了比賽。但我需要找到用戶並查看是否隸屬關係具有某個特定ID的從屬類型。 我可以得到的是user_id,但我如何看到該user_id的聯屬類型?我不明白... – 2010-03-13 21:12:52
看到我的編輯,我認爲這可以提供幫助。與Organization.affiliations和user.affiliations.with_type_3(named_scope建議)相交的只有一個或零個聯屬對象。 – nanda 2010-03-13 21:51:03
幾乎... 這部作品的控制檯給我的用戶只有一個值上: v.affiliations.type_admin 但 if_attribute:隸屬關係=> intersects_with { user.affiliations.type_admin } 決不驗證爲真 – 2010-03-13 22:29:53