Поле ассоциации Rails не сохраняется

У меня две модели в has_one принадлежит_от отношения:

class Facility < ApplicationRecord
   has_one :machine
end


class Machine < ApplicationRecord
   belongs_to :facility
end

В части _form для сохранения <% = form . collection_select : объект , объект . все , : идентификатор , : facility_name , { подскажет : "Выберите faclity" }, { класс : "формы-контроль" } %> s, у меня есть collection_select , который выбирает в Защите machine_params Params . require (: facsummary ). разрешение (: object_id , ....) end :

facility_id

В MachineController у меня есть возможность, как показано ниже:

<%= form.collection_select :facility_id, Facility.all, :id, :facility_name, {prompt: "Select a faclity"}, {class: "form-control"} %>

Я думаю, что я сделал все правильно, но, несмотря на выбор объекта в раскрывающемся списке, я получаю сообщение об ошибке:

«Объект должен существовать»

Где я могу ошибиться?

ruby-on-rails,

0

Ответов: 1


0 принят

Попробуйте добавить facility_idвместоfacility

machine

и метод сильных параметров, который он хотел machineбы использовать ниже

params.require(:machine).permit(:facility_id, ....)

Или попробуйте, если выше не работает

<%= form.collection_select(:facility_id, Facility.all, :id, :facility_name, {prompt: 'Select a faclity'}, {:class => 'form-control'})  %>

Он протестирован

Рубин на рельсах,
Похожие вопросы