У меня есть таблица 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 той же таблицы
Попробуй это:-
<%= f.select :group_type, options_for_select(under_groups) %>