Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 编辑时未选择输入字段集合值_Ruby On Rails_Forms - Fatal编程技术网

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

Ruby on rails 编辑时未选择输入字段集合值,ruby-on-rails,forms,Ruby On Rails,Forms,我有一个带有客户端和发票的应用程序, 当用户创建发票时他们需要将其与客户机关联,我正在将其与表单中的集合输入字段成功关联。我添加了“include_blank”来处理没有任何客户端的新用户注册的情况。这就是我遇到麻烦的地方 添加:include\u blank=>“选择客户机”之后,我的编辑表单停止选择关联的客户机,现在默认为“选择客户机” 我的表格输入 <%= f.input_field :client_id, :collection => current_user.clients

我有一个带有
客户端
发票
的应用程序, 当用户创建
发票时
他们需要将其与
客户机
关联,我正在将其与
表单中的
集合输入字段
成功关联。我添加了“include_blank”来处理没有任何客户端的新用户注册的情况。这就是我遇到麻烦的地方

添加
:include\u blank=>“选择客户机”
之后,我的编辑表单停止选择关联的客户机,现在默认为“选择客户机”

我的表格输入

<%= 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" %>

好的,我删除了
selected:params[:client\u id]
,现在它与
:include\u blank=>“Select client”


selected:params[:client\u id]
正在返回
nil
,表单生成器似乎能够解释
:client\u id
一旦
selected:params[:client\u id]
被删除

如果能在这条线附近看到更多的雇员再培训局,那就太好了。具体来说,
表单_是什么样子的。不过,这可能与
参数[:client\u id]
有关。处理此ERB时,您确定
params
散列具有该键吗?是的,因此如果我删除
:include_blank=>“Select Client”
所有操作都按预期进行。正确的客户端显示在
输入字段中
当您传递
:prompt=>“选择客户端”
而不是
include_blank
时是否看到相同的结果?是与
相同的结果:prompt=>“选择客户端”
是否可以发布生成的HTML?
<%= 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>