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?因爲是這樣的話,你需要創建相應的每個循環。