2012-07-09 13 views
23

Tengo un simple_form que intento incluir siempre un elemento en blanco, ya que un valor "nil" en ese campo tiene un valor especial significado en esta base de datos. Para hacerlo más obvio para los usuarios finales, también quiero titularlo con algo similar a "(seleccione si ninguno)".Rails - simple_form, incluye un objeto en blanco con nombre en una colección en new y edita

Actualmente estoy haciendo esto, pero solo inserta el elemento 'en blanco' cuando se crea un objeto nuevo, no cuando se edita uno.

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

Respuesta

53

que desea utilizar :include_blank, no :prompt

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

The documentation

+0

Gracias por eso. He leído esa documentación bastantes veces y obviamente evité ese poco. – bdx

+0

Nota para usted: '' 'include_blank:: All''' NO funcionará. '' 'include_blank: 'All'''' hace ... – kwerle

Cuestiones relacionadas