我最近开始学习 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
现在我正在使用包含来连接两个表,但我希望能够使用关联方法。