Вложенные формы не проходят - PullRequest
0 голосов
/ 04 мая 2010

У меня есть следующая модель

class Project < ActiveRecord::Base
  has_many  :assignments, :conditions => {:deleted_at => nil}
  has_many  :members, :conditions => {:deleted_at => nil}
  accepts_nested_attributes_for :members, :allow_destroy => true
end

class Member < ActiveRecord::Base
  belongs_to :project
  belongs_to :person
  belongs_to :role

  has_many :assignments, :dependent => :destroy, :conditions => {:deleted_at => nil}
  accepts_nested_attributes_for :assignments, :allow_destroy => true


  validates_presence_of     :role_id
  validates_presence_of     :project_id
end

и я предполагаю, что контроллер будет заполнять member.project_id после project.save для каждой записи вложенного члена. Тем не менее, я получаю ошибку проверки, заявив, что project_id пуст.

Мой метод контроллера:

  def create
    # @project is created in before_filter
    if @project.save
      flash[:notice] = "Successfully created project."
      redirect_to @project
    else
      render :action => 'new'
    end
  end

Нужно ли вручную устанавливать project_id в каждой записи вложенного члена? Или что необходимо заполнить контроллеру при создании записей участника?

1 Ответ

2 голосов
/ 04 мая 2010

Создайте объект Member следующим образом:

@member = @project.members.build
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...