gpt4 book ai didi

mysql - Rails 3 自动创建联接表关联

转载 作者:可可西里 更新时间:2023-11-01 08:55:00 28 4
gpt4 key购买 nike

我无法弄清楚如何在表中创建新条目并在联接表中自动创建关联关系。

这是我的模型:

class Building < ActiveRecord::Base
has_many :user_buildings
has_many :users, :through => :user_buildings
end

class User < ActiveRecord::Base
has_many :user_buildings
has_many :buildings, :through => :user_buildings
....
end

class UserBuilding < ActiveRecord::Base
belongs_to :user
belongs_to :building
end

现在我的用户模型也用于设计,所以我一直在使用 current_user 助手。

检索我使用的所有建筑物

current_user.buildings

所以从那里我认为我可以使用

current_user.buildings.build

创建与用户关联的新建筑物并更新连接表;但是,这只会将建筑物添加到建筑物表中,而不会在 user_buildings 表中建立关联。

我一直在阅读文档 http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html , 但我似乎无法弄清楚我需要去的方向。

谢谢!

最佳答案

您需要更新当前用户的建筑物集合,rails 将为您处理更新连接表。

current_user.buildings << Building.new(:some_building_attributes => :some_value)
current_user.save

关于mysql - Rails 3 自动创建联接表关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6389901/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com