增加資源ID另一個資源我有3種相關機型:的Rails通過HABTM
class User < ActiveRecord::Base
has_and_belongs_to_many :groups
end
class Group < ActiveRecord::Base
has_and_belongs_to_many :users
has_many :galleries
end
class Gallery < ActiveRecord::Base
belongs_to :group
end
我希望能夠給一組中創建用戶和畫廊這樣只有誰是組成員的用戶可以查看屬於該組的畫廊。我也希望用戶能夠查看他們所屬的其他組的畫廊(因此是HABTM協會)。
我很難概念化它如何與控制器一起工作,也許我正在思考問題。如果我創建了一個組,然後我創建一個用戶,那麼將當前group_id添加到用戶模型的最佳方法是什麼?相同的東西去畫廊模型...
這是否有道理?
讓我知道是否需要澄清或添加代碼示例。
非常感謝您的幫助。
編輯:澄清 我在最初的問題中絕對沒有任何意義,但我確實設法在朋友的幫助下找到答案。
我最終什麼事做的是通過params哈希值傳遞GROUP_ID的形式,像這樣:
<%= link_to "Add User", new_admin_user_path(:group_id => @group.id) %>
<%= link_to "Add Gallery", new_gallery_path(:group_id => @group.id) %>
然後用我的形式隱藏字段,分配GROUP_ID的「GROUP_ID」隱藏字段:
<%= hidden_field_tag :group_id, params[:group_id] %>
最後,在我的創建方法,加上幾行之前保存完美分配GROUP_ID:
# Gallery only has one group
@gallery.group_id = params[:group_id]
# Users can belong to many groups
@user.groups << Group.find(params[:group_id])
我仍然需要坐下來,圍繞着你們提供的答案。非常感謝您花時間幫助我。對此,我真的非常感激。