J'ai un simple_form que j'essaie de devoir toujours inclure un élément vierge, car une valeur "nil" dans ce champ a une signification particulière dans cette base de données. Afin de rendre cela plus évident pour les utilisateurs finaux, je souhaite également le titer avec quelque chose dans le sens de "(sélectionnez-le si aucun)".
Je le fais actuellement, mais il n'enserve que l'élément "vide" lors de la création d'un nouvel objet, pas lors de la modification d'une.
# _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
Vous voulez utiliser :include_blank
, ne pas :Prompt
<%= f.association :parent, :collection => @parents, :include_blank => "(select if none)" %>