Ошибка при обновлении со многими сквозными и вложенными атрибутами - PullRequest
0 голосов
/ 03 мая 2019

У меня есть many to many through связь с вложенными атрибутами. в edit participant у меня есть collection_check_boxes :webinar_ids, это позволяет мне добавлять участников в вебинары, при этом у меня есть вложенный атрибут connected. я могу добавить участников в вебинар, а затем, если я вернусь к edit participant, я могу отметить connected для каждого вебинара, к которому подключен участник. Проблема в том, что когда я хочу edit/update вебинаров, у меня появляется ошибка, что Couldn't find ParticipantWebinar with ID=95 for Participant with ID=16

Я пробовал зависимость:: destroy,: delete_all, обнулить без изменений, но если я удаляю вложенное поле атрибута из редактирования, все в порядке

Модель:

`class Webinar < ApplicationRecord

    has_many :participant_webinars, dependent: :destroy
    has_many :participants, through: :participant_webinars
end

class Participant < ApplicationRecord

    has_many :participant_webinars, dependent: :destroy
    has_many :webinars, through: :participant_webinars  
    accepts_nested_attributes_for :participant_webinars, allow_destroy: true
end

class ParticipantWebinar < ApplicationRecord
    belongs_to :webinar, optional: true
    belongs_to :participant, optional: true 

end`

И редактировать участника:

`<hr>
<div class="form-group">
    <div class="row">
        <div class="col-sm-8 col-sm-offset-2">
            <%= f.collection_check_boxes :webinar_ids, Webinar.all, :id, :name do |cb| %>
            <% cb.label(class: "checkbox input_checkbox") {cb.check_box(class: "checkbox") + cb.text} %>
            <% end %>
        </div>
    </div>
</div>

<% if @participant.webinars.exists?  %>
<div class="form-group" >
    <div class="row" >
        <div class="col-sm-8 col-sm-offset-2" > <hr><hr> 
          <%= f.fields_for :participant_webinars do |d| %>
          <%= d.hidden_field :participant_id, value: @participant.id %>
          <%= render 'participants/participantconnected', d: d %>
          <% end %>
        </div>
    </div>
</div>
  <% end %>`

Я могу редактировать / обновлять подключенный атрибут, но не webinar_ids

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