首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >双方的Rails has_many关联

双方的Rails has_many关联
EN

Stack Overflow用户
提问于 2015-10-25 16:30:39
回答 1查看 690关注 0票数 1

我有用户。每个用户都可以创建旅程。当用户创建旅程时,其他用户可以加入join。如何创建社团?

在user_model中:

has_many :journeys

在journey_model中:

belong_to :user

我可以添加到journey_model:has_many :users中吗

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-25 17:12:26

代码语言:javascript
复制
#app/models/user.rb
class User < ActiveRecord::Base
   has_many :created_journeys, class_name: "Journey", foreign_key: :user_id
   has_and_belongs_to_many :journeys
end

#Need a table journeys_users - journey_id | user_id

#app/models/journey.rb
class Journey < ActiveRecord::Base
   belongs_to :owner, class_name: "User", foreign_key: :user_id
   has_and_belongs_to_many :users
end

这将允许您调用以下内容:

代码语言:javascript
复制
@user = User.find params[:user_id]
@journey = @user.journeys.find params[:id]

@journey << current_user

多对多

你问题的症结在于你正在寻找一个多到多的联系。

这有两种味道:

  • has_and_belongs_to_many
  • has_many :through

这两项工作都是为了提供类似的结果,只是以不同的方式:

如果需要的话我可以解释更多。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33332078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档