从记录中预填充右日期到“编辑”视图中的“选择字段”

时间:2015-05-27 15:15:26

标签: ruby-on-rails forms ruby-on-rails-3

我的表单中有以下字段,当我加载它以进入新的记录开始日期是2016年并且下降到1900女巫是好的时候一切正常。它将正确保存到记录中。但是当我去编辑这个记录的时候,它每次加载它的日期都是......

我希望它能显示保存到数据库的日期。

<%= f.select :year, options_for_select((1900..Date.today.year+1).to_a.reverse), {:prompt => 'Year', :class=>"pointer" } %>

此外,这是一个嵌套的表格,可能有几辆车只能使用记录实例变量。

它嵌套如下:

 <%= f.fields_for :vehicles do |builder| %>
     <%= render "shipments/partials/vehicle_fields", :f => builder %>
 <% end %>

所有其他领域都运作正常......

vehicle_fields:

<section style="margin-bottom: 0;" class="auto-container fields">
  <div class="row">
    <div class="col col-md-2">
      <label class="select">
        <%= f.select :year, options_for_select((1900..Date.today.year+1).to_a.reverse), {:prompt => 'Year', :class=>"pointer" } %>
      </label>
    </div>
    <div class="col col-md-4">
      <label class="input">
        <%= f.text_field :make, :placeholder => "Make" %>
      </label>
    </div>
    <div class="col col-md-4">
      <label class="input">
        <%= f.text_field :model, :placeholder => "Model" %>
      </label>
    </div>
    <div class="col col-md-2">
      <p class="btn btn-primary pull-right" style="margin: 0 0 0 20px"><%= button_to_remove_fields "Remove", f %></p>
    </div>
  </div>
</section>

1 个答案:

答案 0 :(得分:0)

找到答案

<%= f.select :year, options_for_select((1900..Date.today.year+1).to_a.reverse, :selected => f.object.year), {:prompt => 'Year', :class=>"pointer" } %>

获取嵌套对象的值,你可以这样做:

 f.object.year  <<< in my case i needed the year