我目前正在使用下面的代碼填入一些測試數據:Rails的 - 不明確的列名:ID
# add vehicle
trim = Trim.where(:id => 1 + Random.rand(250)).first
model_year_array = trim.model_years.all(:select => :id).collect(&:id)
vehicle = Vehicle.create(trim_id: trim.id, model_year_id: model_year_array[Random.rand(model_year_array.length - 1)])
我認爲這是相當自我解釋 - 實際上我想要得到的model_year ID的數組適用於選定的修剪,隨機選擇一個,並使用其id作爲車輛的model_year_id。
我遇到的問題是trim.model_years.all(:select => :id).collect(&:id)
零件產生一個id不明確的錯誤;錯誤如下:
SQLite3::SQLException: ambiguous column name: id: SELECT id FROM "model_years" INNER JOIN "model_year_trims" ON "model_years"."id" = "model_year_trims"."model_year_id" WHERE "model_year_trims"."trim_id" = 110
我如何格式化我的代碼,以便選擇ID獲取model_year的ID,因此是沒有歧義?
try model_year_id? – 2012-07-31 14:44:18