На странице редактирования для этой формы все поля вне тега fields_for
(имя почтового ящика, автоматическое согласование и несколько других, не указанных здесь) все заполняются на основе их соответствующих db стоимость. Тем не менее, все, что находится в теге fields_for, не является, хотя они публикуются в db просто отлично.Сериализованные fields_for не заполняется с db on edit
Я отправил: group_member_roles
в качестве примера, но есть еще несколько полей внутри их собственного другого fields_for
, которые делают то же самое. Это просто сбивает с толку, что он отправит сообщение в db, но не будет отображаться при редактировании.
Чем больше я читаю в fields_for
, тем больше я чувствую, что не использую его правильно. Представляется более склонным к заполнению таблиц db за пределами того, на который ссылается ваша форма, но я просто пытаюсь сериализовать данные в таблице входящих сообщений. Когда я смотрю на столбец: group_member_roles
, я хочу, чтобы он был массивом/хешем, содержащим процесс true/false, action add/delete и строку значений.
#_form.html.erb
<%= form_for(@inbox) do |f| %>
<%= f.label :inbox_name %>
<%= f.text_field :name, placeholder: "Inbox Name" %>
<%= f.label :automatic_reconciliation, "Turn on/off automatic reconciliation" %>
<div class="switch small">
<%= f.check_box :automatic_reconciliation, class: "switch-input" %>
<label class="switch-paddle" for="inbox_automatic_reconciliation">
<span class="show-for-sr">Automatic reconciliation</span>
<span class="switch-active" aria-hidden="true">On</span>
<span class="switch-inactive" aria-hidden="true">Off</span>
</label>
</div>
<%= f.fields_for :group_member_roles do |group_member_roles| %>
<h4>Group Member Roles</h4>
<%= group_member_roles.label :process, "Turn On/Off Processing" %>
<div class="switch small">
<%= group_member_roles.check_box :process, class: "switch-input" %>
<label class="switch-paddle" for="inbox_group_member_roles_process">
<span class="show-for-sr">Group Member Roles Processing</span>
<span class="switch-active" aria-hidden="true">On</span>
<span class="switch-inactive" aria-hidden="true">Off</span>
</label>
</div>
<%= group_member_roles.label :action, class: "hide" %>
<%= group_member_roles.select :action, ["Add", "Delete"], { selected: "Add" }, { class: "hide" } %>
<%= group_member_roles.label :values %>
<%= group_member_roles.text_field :values, placeholder: "1234, 1337, 1986" %>
<% end %>
Заранее благодарим за помощь или руководство.
Значит, вы хотите сказать, что в вашей папке «Входящие» вы можете сделать index.group_member_roles.first.process. Можете ли вы нажимать свой код на github? – Saad
Конечно, вот ссылка на ветку, над которой я работаю: https://github.com/npmdigital/ondeck/tree/s7_add_group_role_and_tag_to_inbox Также нет, я не могу запустить first.process на нем, но если я ищу @ index.group_member_roles [: process] показывает строку. –
Поскольку у вас есть вложенное поле, попробуйте http://stackoverflow.com/a/37783164/1087841, не уверен, что это решение будет для вас, но я не думаю, что у меня был доступ к вашему приложению, чтобы посмотреть на него , – Saad