1

我最近开始学习 rails 并学习使用 has_many 关联的教程,但我遇到了各种缺少方法错误的方式。

我有以下型号

class Team < ApplicationRecord
  has_many :members
end

class Member < ApplicationRecord
  belongs_to :team
end

根据活动记录协会

当你声明一个has_many关联时,声明类会自动获得关联相关的17个方法

因此,当我使用 Team.members 时,我应该能够获取成员数据,但出现以下错误:

irb(main):004:0> Team.members
/home/jia/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/activerecord- 
7.0.1/lib/active_record/dynamic_matchers.rb:22:in `method_missing': undefined method `members' 
for Team:Class (NoMethodError)                                                         
irb(main):005:0> 

irb(main):011:0> Team.size
/home/jia/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/activerecord- 
7.0.1/lib/active_record/dynamic_matchers.rb:22:in `method_missing': undefined method `size' 
for Team:Class (NoMethodError)                                                            
irb(main):012:0> 

检查 Team.methods 后,我没有看到 17 种关联方法。我错过了什么或做错了什么?

我正在使用 Rails 7.0.1 和 ruby​​ 3.0.3

现在我正在使用包含来连接两个表,但我希望能够使用关联方法。

4

0 回答 0