私は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
:include_blank
ではなく:Prompt
を使用したい
<%= f.association :parent, :collection => @parents, :include_blank => "(select if none)" %>