Rails .includes() 返回“未定义的方法”

She*_*y S 0 activerecord ruby-on-rails associations rails-activerecord

我有一个带有关联位置的 Company 对象。

公司 has_many :locations 位置所属地 :company

当我打电话时:

@company = Company.find(5).includes(:locations)
Run Code Online (Sandbox Code Playgroud)

我收到错误:

NoMethodError: undefined method `includes' for #<Company:0x000000066ad398>
Run Code Online (Sandbox Code Playgroud)

据我所知,我正在按照 ruby​​onrails.org 的说明进行操作。

Sim*_*tti 6

find()触发数据库查询,并返回模型的实例。你不能调用includes它,因为includes它应该有一个ActiveRecord::Relation接收器。

您需要颠倒顺序:find 必须留在最后:

@company = Company.includes(:locations).find(5)
Run Code Online (Sandbox Code Playgroud)