通过Rails中的隐藏字段保存数据

时间:2015-11-30 07:56:08

标签: jquery ruby-on-rails ajax ruby-on-rails-4

我有一个表和一个表 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列中

1 个答案:

答案 0 :(得分:0)

试试这个: -

<%= f.select :group_type, options_for_select(under_groups) %>