Tôi mới sử dụng ROR và vẫn đang chơi với các liên kết. Tôi cần có hai tham chiếu đến một mô hình cụ thể trong một mô hình khác. Mã scaffolded không hoạt động và tôi nhận được một lỗi "uninitialized constant".Kết hợp đường ray cho hai khóa ngoại cho cùng một bảng trong một bảng
lệnh Generation:
script/generate scaffold BaseModel name:string
script/generate scaffold NewModel name:string base1:references base2:references
db:migrate
mô hình tạo:
class NewModel < ActiveRecord::Base
belongs_to :base1
belongs_to :base2
end
và
class BaseModel < ActiveRecord::Base
has_many :new_models # I added this line
end
Khi tôi cố gắng tạo ra một new_model tại /new_models/new
, tôi đã cố gắng cả ID và tên của BaseModel nhưng nó không hoạt động. Các lỗi tôi nhận được là:
uninitialized constant NewModel::Base1
Tôi đoán nó ánh xạ tên, vì vậy trong tôi tạo ra phương pháp, tôi đã cố gắng để thiết lập một cách rõ ràng các trường hợp BaseModel:
@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
Có điều gì tôi đang thiếu?