check_box_tag - отношение один ко многим - PullRequest
2 голосов
/ 04 июня 2011

У меня есть 2 модели - партия и подчинение.

Пакет has_many: отправка Отправка принадлежит: партия: 1003 *

В моей таблице отправлений есть поле / столбец, в котором хранится идентификатор партии для каждой отправки,

В моей новой пакетной форме пользователь может выбрать отправку с помощью флажка и сохранить форму.Это свяжет вновь созданный идентификатор партии с выбранными представлениями.

В настоящее время я использую следующий код, чтобы позволить пользователю выбирать представления и сохранять форму, которая, в свою очередь, создаст новый пакет и свяжет новый пакетid для выбранных представлений.

Код для выбора представлений:

 <% @subs.each do |submission| %>
        <td><%= check_box_tag "batch[submission_ids][]", submission.SUB_ID, @batch.submissions.include?(submission) %></td>
        <td><%= submission.SUB_ID %></td>
        <td><%= submission.SUB_NAME %></td>
    </tr>
  <%end%>

Кажется, что работает нормально, за исключением случаев редактирования.

Если я создаю новую партию исвяжите с ним 2 представления, а затем я отредактирую этот конкретный пакет и отменим выбор ВСЕХ представлений и сохраню пакет, изменения не будут сохранены.Однако, если я отменяю выбор только одного представления или выбираю другое представление, изменения сохраняются.

Я получаю эту ошибку, только когда редактирую пакет, содержащий выбранные представления, и пытаюсь сохранить этот пакет после отмены выбора всех предварительно выбранных представлений..

Я действительно смущен этим и подумал, что, возможно, ошибка как-то связана с check_box_tag.

Буду признателен, если кто-нибудь предоставит мне несколько советов по этому поводу.

Большое спасибо за вашу помощь

1 Ответ

2 голосов
/ 04 июня 2011

Однажды я столкнулся с той же проблемой. Дело в том, что непроверенные ящики не отправляются. От: http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-check_box

"Попался Спецификация HTML говорит, что непроверенные флажки не успешны, и поэтому веб-браузеры не отправляют их. [...] "

Хотя сказано, что check_box_tag должен быть в порядке (http://apidock.com/rails/ActionView/Helpers/FormTagHelper/check_box_tag), Мне пришлось передать скрытый field_id на тот случай, если все флажки сняты.

Это общая подсказка, но я надеюсь, что это поможет. Вы должны проверить в журналах, как и если переданы идентификаторы (или иначе, когда их нет).

Удачи!

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