Извините, если этот вопрос кажется простым, я очень плохо знаком с Rails (только начал изучать несколько дней назад), но после консультации с Google и "Agile Web Development с Rails" я не могу найти ответ.
У меня проблема с Rails 2.3.8, создающим внешний ключ на двух моделях.Мои таблицы выглядят так:
cars manufacturer
---- ------------
car_make name
car_model country
car_class logo_url
image_url (and default 'id' created by Rails)
manufacturer_id
(and default 'id' created by Rails)
Мои поля 'car_make' и 'name' по сути одинаковы;каждый автомобиль, который я создаю, я хочу иметь возможность ассоциировать его с существующим производителем.Это колонка, в которой я пытаюсь создать ФК.
У моего car.rb есть «own_to: производитель», а у моего factoryr.rb есть «has_many: cars», чтобы установить связь одного производителя со многими автомобилями.Тем не менее, когда я создаю новый автомобиль (через строительные леса), поле factory_id остается пустым.
Я зашел в свой cars_controller, нашел используемый метод 'create' и попытался добавить вторую строку ниже:
@car = Car.new(params[:car])
@car.manufacturer_id = car.manufacturer.id # <===
Это вызывает 'NameError в CarsController # create'ошибка, и я вижу:
undefined local variable or method 'car' for #<CarsController:0x1034642f0>
Rails, похоже, не нравится строка, которую я добавил.Чего мне не хватает, чтобы заставить это работать?