Я использую form_for и fields_for для создания компании, адреса и company_person.fields_for не удается создать объект
Вот соответствующая часть модели компании:
class Company < ActiveRecord::Base
has_many :company_people
accepts_nested_attributes_for :company_people
has_many :addresses, as: :location
accepts_nested_attributes_for :addresses
Я добавил соответствующие параметры в контроллер компаний:
def company_params
params.require(:company).permit(:name, :email, :phone,
:website, :ein, :description,
{company_person_params: [:first_name, :last_name, :phone, :email]},
addresses_attributes: [:id, :street, :city, :zipcode])
end
А вот часть контроллера компаний, которая делает работы:
@company = Company.new
@company.assign_attributes(company_params)
@company.agencies << Agency.first
@company.company_people.build
@company.company_people << @company_person
if @company.save
flash.notice = "Success!"
Это нормально работает для адреса - его обрабатывают "@ company.assign_attributes (company_params)". Сохранено, и я не могу распечатать его на странице подтверждения. Но company_person не происходит. Я получаю ничтожное исключение для всего. Я следовал этому руководству: http://guides.rubyonrails.org/form_helpers.html#nested-forms, но я все еще застрял.
Что я делаю неправильно?
Спасибо. Я решил проблему ассоциаций и подтвердил, что это не та форма, которая виновата. Я собираюсь переписать свой вопрос в соответствии с новой информацией –