我有2個模型(model1
和model2
),它們具有多對多的關係。表格已經存在,只包含每個模型的主鍵。 has_many through
關係在其各自的模型中建立。然而,當我嘗試在POST下面,我得到的經典Ruby on Rails:嘗試添加到集合時出現多對多錯誤
NoMethodError: You have a nil object when you didn't expect it!
You might have expected an instance of Array. The error occurred while
evaluating nil.[]":
model1 = Model1.find(params[:id])
model2 = Model2.find(params[:model2_id])
model1.model2s << model2
model1
不爲零。 model1.model2s
不是零。 model2
不是零。這個錯誤來自哪裏?
它說'零。[]'。括號引用索引操作,如'params [:id]'。由於某種原因,「params」無效?你是否正確閱讀了你的錯誤信息。是否說錯誤是在哪一行? – Casper
'params'不是零。根據消息,錯誤發生在'model.model2s << model2'上。 – CitizenX