0

我有一个公司对象与关联的位置。Rails .includes()返回'未定义的方法'

公司的has_many:位置 位置belongs_to的:公司

当我打电话:

@company = Company.find(5).includes(:locations) 

我得到的错误:

NoMethodError: undefined method `includes' for #<Company:0x000000066ad398> 

我正在关注的rubyonrails.org的说明一个T ...据我所知。

回答

1

find()触发一个数据库查询,并返回模型的一个实例。您无法拨打includes,因为includes应该有一个ActiveRecord::Relation作为接收者。

您需要颠倒顺序:find必须留底:

@company = Company.includes(:locations).find(5) 
+0

谢谢。我不再收到错误,但我没有收到:与公司一起返回的地点。 (将此响应转换为json) –

+1

然后它必定是一个不同的问题。请打开一个不同的问题,因为这个特定的错误已经解决了。 –

0

你检查记录在数据库上location.rb模型。 company_id在那里?可以使用pry-rails来调试代码。你的代码看起来不错。

您正在创建的json与jbuilder?因为是这样的话,你需要创建相应的每个循环。