基本上,现在我有一个位置和一个用户,关系“跟随”。这两者都是has_and_belongs_to_many关系。我已经在数据库中创建了用户和位置,但是当用户决定关注某个位置时,我想要连接这两个用户。我该怎么做呢?
我想过使用LocationUser.new(..),其中LocationUser是一个位置&的连接表。用户表或Location.create(...)或其他东西,但我不觉得其中任何一个正在做我想做的事情。
提前非常感谢!
答案 0 :(得分:0)
连接表不应具有模型,也不应具有外键。在create_table迁移中设置id: false
。
然后,User.locations << Location.new
或类似的。
答案 1 :(得分:0)
您可以使用范围添加(如果您不使用连接模型,真正的habtm):
current_user.locations << @location
或范围创建(如果您有连接模型):
current_user.location_users.create(:location_id => @location)