编辑时未选择输入字段集合值

时间:2016-04-01 03:07:55

标签: ruby-on-rails forms

我有clientsinvoices的应用, 当用户创建invoice时,他们需要将其与我clientcollection input field成功完成的form相关联。我添加了'include_blank'来处理没有任何客户端的新用户注册的情况。这是我遇到麻烦的地方。

我添加:include_blank => "Select Client"后,我的编辑表单停止选择关联的客户端,而现在默认为“选择客户端”

我的表单输入

<%= f.input_field :client_id, :collection => current_user.clients.order(created_at: :desc), selected: params[:client_id], :label_method => :client_name, :value_method => :id, :include_blank => "Select Client", class: "form-control" %>

为什么:include_blank在编辑表单中显示client_id存在的位置?如何获取相关的client_id以显示?

我的表格

<%= simple_form_for [@client, @invoice] do |f| %>
<div class="field">
<% if @invoice.errors.any? %>
<ul>
  <% @invoice.errors.full_messages.each do |message| %>
    <li><%= message %></li>
  <% end %>
 </ul>
<% end %>
    <...>
 <div class="row invoice-info">
  <div class="col-xs-2 invoice-col">
  Select Client
    <%= f.input_field :client_id, :collection => current_user.clients.order(created_at: :desc), selected: params[:client_id], :label_method => :client_name, :value_method => :id, :include_blank => "Select Client", class: "form-control" %>
    </div>

    <div class="col-xs-2 invoice-col">
    <%= link_to 'New Client', new_client_path(@client), class: "btn btn-danger" %>
  </div>
</div>

1 个答案:

答案 0 :(得分:0)

好的,我删除了selected: params[:client_id],现在它按预期正常运行:include_blank => "Select Client"

selected: params[:client_id]正在返回nil,表单构建器似乎能够在:client_id被删除后解释selected: params[:client_id]