Подтвердить что ты не робот

Rails - simple_form, включает в себя именованный пустой объект в коллекции на новом и редактировать

У меня есть simple_form, который я пытаюсь всегда включать в него пустой элемент, поскольку значение "nil" в этом поле имеет особое значение в этой базе данных. Чтобы сделать его более понятным для конечных пользователей, я также хочу назвать его чем-то вроде строки "(select if none" ).

В настоящее время я делаю это, но он вставляет только "пустой" элемент при создании нового объекта, а не при его редактировании.

# _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
4b9b3361

Ответ 1

Вы хотите использовать :include_blank, а не :prompt

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

Документация