2016-11-24 9 views
0

У меня возникла проблема с формой, которая также обрабатывает вложенные атрибуты. Родительская модель «встреча» принимает вложенные атрибуты для дочерней модели «приглашение». Обратите внимание, что можно только отправить одно приглашение на собрание, но оно необязательно.Форма рельсов для вложенных атрибутов должна отбрасывать сборку, если отклонено

Модель для собрания включает в себя:

has_one :invitation, :dependent => :destroy 
    accepts_nested_attributes_for :invitation, :reject_if => proc { |a| a[:user_id].blank? }, :allow_destroy => true 

Проблема заключается в представлениях вида/встречах/_form.html.erb. Я пытаюсь обрабатывать все атрибуты для встречи и приглашения для новых видов, показать и редактировать. Потому что я хочу, чтобы пользователь мог добавить приглашение, когда hasnt был один ранее я поставил

<%= f.fields_for :invitation, @meeting.invitation ||= @meeting.build_invitation do |ff| %> 

Но это дает мне ошибку, когда я хочу, чтобы изменить встречу и приглашение было пусто (так что это было отклонено) «Не удалось сохранить новое связанное приглашение.«

Что я делаю неправильно?

+0

Вы видите этот драгоценный камень https://github.com/nathanvda/cocoon? Просто для меня работа – inye

ответ

0

получил это работает с изменением линии в целях

<%= f.fields_for :invitation, Invitation.where(meeting_id: @meeting.id).first_or_initialize do |ff| %>