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>