gpt4 book ai didi

ruby-on-rails - 如何在同一模型中进行 has_many 和 has_one 关联?

转载 作者:行者123 更新时间:2023-12-03 10:15:18 27 4
gpt4 key购买 nike

我需要在同一个模型中做两个关联。在哪里:

团队 has_many 用户
现在,我想要那个 团队 has_one 领队

这个“领导者”将是一个用户

我正在尝试使用 has_one throught但我认为这种关联是行不通的。

领导者.rb

class Leader < ActiveRecord::Base
belongs_to :user
belongs_to :team

团队.rb
class Team < ActiveRecord::Base
has_one :user, through: :leader
end

用户名
class User < ActiveRecord::Base

belongs_to :team
has_one :captain

end

并在第 27 行附近出现以下错误:
NoMethodError in TeamsController#create

26 def create

**27 @team = current_user.teams.create(team_params)**

28 @team.save

29 respond_with(@team)

30 current_user.update(team_id: @team.id)

最佳答案

在这种情况下,我认为您需要 2 个模型就足够了

1)。用户模型

class User < ActiveRecord::Base
belongs_to :team
end

2)。团队模式
 class Team < ActiveRecord::Base
has_many :users
belongs_to :leader, class_name: 'User', foreign_key: :leader_id
end

关于ruby-on-rails - 如何在同一模型中进行 has_many 和 has_one 关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29562792/

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