On Rails 4.我很難理解如何授權用戶能夠通過CanCan編輯其組織信息。Ruby on Rails - CanCan Gem與多對多通過
使用案例1:用戶有很多組織;組織有許多用戶。此關係信息存儲在第三個模型UserOrganization中(具有:user_id
和:organization_id
屬性)。所以基本上,只要用戶通過第三個模型鏈接,用戶就可以編輯組織信息。我瞭解了這段代碼,但它不會(在ability.rb)工作:
def initialize(user)
can [:show, :edit, :update], Organization, user_organizations: { user_id: user.id }
end
(說未定義的方法USER_ID)
使用案例2:還有第四個模型,OrganizationDetails。一個組織可以有許多organization_details。我還希望用戶能夠編輯他/她的組織的詳細信息。換句話說,用戶 - >有很多 - >用戶組織 - >屬於 - >組織 - >有很多 - >組織詳細信息。
如何在CanCan中對此進行格式化,以便用戶可以通過UserOrganization模型創建/編輯他/她鏈接到的組織細節。謝謝。所有控制器在模型中都有load_and_authorize_resource
和適當的has_many
和belongs_to
代碼。