私はRoRを初めて使い、まだ関連付けをしています。別のモデルの特定のモデルに2つの参照が必要です。スキャフォールドされたコードが機能せず、「初期化されていない定数」エラーが発生します。1つのテーブル内の同じテーブルの2つの外部キーのためのRails関連
世代コマンド:
script/generate scaffold BaseModel name:string
script/generate scaffold NewModel name:string base1:references base2:references
db:migrate
生成されたモデル:
class NewModel < ActiveRecord::Base
belongs_to :base1
belongs_to :base2
end
と
class BaseModel < ActiveRecord::Base
has_many :new_models # I added this line
end
私は/new_models/new
でnew_modelを作成しよう
@new_model = NewModel.new(params[:new_model])
@base1 = BaseModel.find(1) # this exists
@base2 = BaseModel.find(2) # this exists
@new_model.base1 = @base1 # This throws the same error as above
は私が欠けているものがありますか?A:
uninitialized constant NewModel::Base1
私の方法を作るので、私は、それは名前をマップ推測、私は明示的にBaseModelインスタンスを設定しようとしましたか