Rails 4: accept_nested_attributes_for и массовое назначение

Я пытаюсь воспроизвестиRailscast # 196 в Rails 4. Однако яЯ испытываю некоторые проблемы.

В моем примере я пытаюсь создать телефонную книгу - каждый человек может иметь несколько телефонных номеров

Это важные части моего контроллера:

class PeopleController < ApplicationController
    def new
        @person = Person.new
        3.times{ @person.phones.build }
    end

    def create
        @person = Person.create(person_params)
        @person.phones.build(params[:person][:phones])

        redirect_to people_path
    end

private

    def person_params
        params.require(:person).permit(:id, :name, phones_attributes: [ :id, :number ])
    end
end

и это мой новый взгляд

New Person


    <p>
         
        
    </p>

    
        <p>
             
            
        </p>
    

    <p>
        
    </p>

Излишне говорить, что у меня естьhas_many :phones а такжеaccepts_nested_attributes_for :phones в модели моего лица иbelongs_to :person в модели телефона.

У меня есть следующие проблемы:

Вместо 3-х полей номера телефона в новом виде есть только одноКогда я отправляю форму, я получаю сообщение об ошибке:

ActiveModel :: ForbiddenAttributesError

в соответствии

@person.phones.build(params[:person][:phones])

Параметры:

{"utf8"=>"✓",
 "authenticity_token"=>"l229r46mS3PCi2J1VqZ73ocMP+Ogi/yuYGUCMu7gmMw=",
 "person"=>{"name"=>"the_name",
 "phones"=>{"number"=>"12345"}},
 "commit"=>"Save Person"}

В принципе, я хотел бы сделать все это как объект формы, но я думаю, что если я неЯ даже не могу получить его с acceptt_nested_attributes, у меня нет шансов сделать это как объект формы :(

Ответы на вопрос(1)

Ваш ответ на вопрос