で選択されませんフィールド。私は 'include_blank'を追加して、クライアントを持たない新規ユーザーがサインアップするケースを処理しました。これが私が問題に遭遇した場所です。私は:include_blank => "Select Client"
追加した後入力は、ユーザーが、彼らは私が私の<code>form</code>で<code>collection input field</code>で正常にやっている<code>client</code>にそれを関連付ける必要があり<code>invoice</code>を作成すると、コレクションの価値が 、私は<code>clients</code>と<code>invoices</code>でアプリを持って編集
は私の編集フォームではなく、今なぜ:include_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" %>
を関連するクライアントを選択し停止し、どこ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>
この行の周りにはERBの詳細が表示されます。具体的には 'form_for'はどのように見えますか?しかし、これは 'params [:client_id]'と関係している可能性があります。このERBが処理されているときに、 'params'ハッシュがそのキーを持っていると確信していますか? –
ええ、 ':include_blank =>" Select Client "を取り除いても、すべてが期待通りに機能します。正しいクライアントが '入力フィールド 'に表示されます – Aloalo
':prompt => '' Include_blank'の代わりに "Select Client"を渡すと同じ結果が表示されますか? –