Сохраняйте данные через скрытое поле в Rails

0

У меня есть таблица Group и таблица Ledger

Ledger/_form.html.erb

<%= form_for(@ledger) do |f| %>
  <% if @ledger.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@ledger.errors.count, "error") %> prohibited this ledger from being saved:</h2>

      <ul>
      <% @ledger.errors.full_messages.each do |message| %>
        <li><%= message %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <div class="field">
    <%= f.label :name %><br>
    <%= f.text_field :name %>
  </div>
  <div class="field">

    <%= f.label :under_group %><br>
    <%= f.select(:under_group, options_for_select(Group.all.map { |group| [group.name, group.id, {'data-group_type'=>group.group_type}] })) %>
    </div>

  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

Это Form of Ledger, где under_groups предоставляет список всех записей группы. В группе и в Ledgers есть поле "Group_type"

Поэтому я хочу, чтобы пользователь выбирал группу в форме, он должен брать данные из Group_type групп и сохранять их в Group_type из Ledgers

Я пробовал скрытые поля, но они не запускаются в режиме реального времени. Другое - это спасение от контроллера, который я не хочу делать. Есть ли другой способ? Возможно, Ajax/jQuery?

Это дает

<select name="ledger[under_group]" id="ledger_under_group"><option data-group_type="0" value="1">Primary(Assets)</option>
<option data-group_type="0" value="1">Primary(Liabilities)</option>
<option data-group_type="0" value="2">Primary(Income)</option>

Я хочу, чтобы значение сохранялось в столбце under_group и сохранялось group_type в столбце group_type той же таблицы

Теги:
ruby-on-rails-4

1 ответ

0

Попробуй это:-

<%= f.select :group_type, options_for_select(under_groups) %>
  • 0
    Здравствуйте, это не помогло, я хочу, чтобы когда пользователь выбирал группу в форме книги и отправлял ее, Group_type (из книги) должен автоматически сохраняться (из группы Group_type)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню