web-dev-qa-db-ja.com

Rails-simple_form、新規および編集時にコレクションに名前付きの空白オブジェクトを含めます

私はsimple_formを持っています。このフィールドには「nil」値があるため、このデータベースでは特別な意味があるため、常に空白の項目を含めようとしています。エンドユーザーにわかりやすくするために、「(ない場合は選択)」のようにタイトルを付けます。

私は現在これを行っていますが、オブジェクトを編集するときではなく、新しいオブジェクトを作成するときにのみ「空白」の項目を挿入します。

# _child_form.html.erb

<%= simple_form_for @child do |f| %>
  <%= f.input :first_name %>
  <%= f.input :last_name %>
  <%= f.association :parent, :collection => @parents, :Prompt => "(select if none)" %>

  <%= f.button.submit %>
<% end %>

# child_controller.rb

def new
  @child = Child.new
  @parents = Parent.all
end

def edit
  @child = Child.find(params[:id])
  @parents = Parent.all
end
25
bdx

:include_blankではなく:Promptを使用したい

<%= f.association :parent, :collection => @parents, :include_blank => "(select if none)" %>

ドキュメント

58
deefour