1

多対多の関係を持つ2つのモデル(model1と)があります。model2各モデルの主キーのみを含むテーブルがすでに存在します。has_many through関係はそれぞれのモデルで設定されます。ただし、POSTで次のことを試してみると、クラシックが得られます

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ゼロではありません。このエラーはどこから来ていますか?

4

1 に答える 1

1

各モデルの主キーのみを含む結合テーブルがある場合has_and_belongs_to_manyは、has_many :through

于 2012-06-28T21:21:53.063 に答える