我有一个表组和一个表 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 %>
这是Ledger的形式,其中under_groups给出所有组条目的列表 Group和Ledgers都有一个字段&#34; Group_type&#34;
所以我想要的是当用户在Form中选择一个组时,它应该从Group_type of Groups中获取数据并将其保存到Ledgers的Group_type
我尝试了隐藏的字段,但他们没有实时运行 其他是从控制器中保存,我不想这样做 还有其他方法吗? 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列中
答案 0 :(得分:0)
试试这个: -
<%= f.select :group_type, options_for_select(under_groups) %>