我需要加入這兩個表,但我似乎無法做到正確。Ruby on Rails活躍記錄加入
型號
class Registration < ActiveRecord::Base has_many :region end
class Region < ActiveRecord::Base belongs_to :registration end
我所到目前爲止已經試過這是
`test = Region.joins(:registration)`
,這將給我這個結果
[#<Region id: 1, name: "region1">, #<Region id: 1, name: "region1">]
看來我確實已經加入了兩張表,但我的困境是我還需要屬於註冊模型的索引。關於結果只是區域模型中可用的索引。
我也試了一下週圍的其他方法
test = Registration.joins(:region)
,但它給了我一個錯誤
Unknown column 'regions.registration_id' in 'on clause': SELECT
註冊.* FROM
註冊INNER JOIN
地區ON
地區.
registration_id =
註冊.
id``
我同意這一點錯誤原因我沒有索引registration_id
該表看起來像這樣 註冊: id | region_id |名稱| 地區:| id |名稱| 那麼我應該如何在我的模型上定義它們? – BananaTiger
Ohh ..那麼你應該has_many:註冊模型中的區域模型和belongs_to:區域。然後你可以執行查詢Registration.joins(:region) –
我仍然在運行'Registration.joins(:region)時得到同樣的錯誤,它一直在尋找registration_id列 – BananaTiger