У меня есть форма, которая обрабатывает 2 модели, ГИБУЛО и Полиза.Вот как я их сейчас настраиваю:
class Vehiculo < ActiveRecord::Base
has_one :poliza
end
class Poliza < ActiveRecord::Base
belongs_to :vehiculo
end
Метод создания в ГИБУЛО выглядит следующим образом:
def create
@vehiculo = Vehiculo.new(params[:vehiculo])
@polizadeseguro = Polizadeseguro.new(params[:poliza])
respond_to do |format|
if @vehiculo.save #&& @poliza.save
format.html { redirect_to(@vehiculo, :notice => 'Vehiculo was successfully created.') }
format.xml { render :xml => @vehiculo, :status => :created, :location => @vehiculo }
else
format.html { render :action => "new" }
format.xml { render :xml => @vehiculo.errors, :status => :unprocessable_entity }
end
end
Форма в / vehicleulos / new содержит часть @fields_forс полями из полиза.Когда я отправляю форму, она сохраняет все поля, но не присваивает только что созданный идентификатор из транспортных средств, как VehicleUlo_id в таблице Polizas.После прочтения многих вопросов об этом в Интернете, кажется, что он должен сохранить его «автоматически» на основе отношений на модели.Это правда?Если так, то почему это не работает?Если нет, что мне нужно добавить к методу создания, чтобы я решил это?
Спасибо!
Обновление: после обновления метода create с помощью json в качестве вывода, как предлагается здесь, я получаю:
{
"utf8"=>"✓",
"authenticity_token"=>"tEhNC4J17h+KvNgXv1LLkVyufQwU2uAT18P7msQxiqA=",
"vehiculo"=>{
"marca_id"=>"2",
"modelo_id"=>"4",
"color"=>"Blanco",
"ano"=>"2011",
"chassis"=>"123456789",
"placa"=>"G123456",
"cliente_id"=>"1",
"entaller"=>"0",
"vip"=>"0"
},
"poliza"=>{
"compania"=>"Comp1",
"numeropoliza"=>"736458",
"vencimiento(1i)"=>"2011",
"vencimiento(2i)"=>"9",
"vencimiento(3i)"=>"21"
}
}
Это вывод, поэтому, по крайней мере, он получает поля из формы, но не вставляет их в таблицу polizas.