texto opcion lista entrada ejemplos ejemplo desplegable campo cajas botones ruby ruby-on-rails-3 simple-form

ruby - opcion - lista desplegable html



Forma simple: elimine la etiqueta externa para una casilla de verificación en línea con etiqueta (6)

Con simple_form 2.1.0 y rieles 3.0.20, ninguna de las soluciones enumeradas aquí funcionó (no quiero usar f.input_field porque es una admisión de derrota).

La parte faltante es la opción boolean_style :

options.merge!({label: false, boolean_style: :inline})

Sugiero que cree una entrada personalizada para esto (por ejemplo: inline_checkbox)

boolean_style está configurado como: anidado de forma predeterminada, creo:

# Defaults to :nested for bootstrap config. # :inline => input + label # :nested => label > input config.boolean_style = :nested

Usando Simple_form 2.0.2

El código de formulario simple usando HAML:

= f.input :remember_me, as: :boolean, inline_label: ''Remember me''

Pero representa esto:

<div class="control-group boolean optional"> <label class="boolean optional control-label" for="admin_remember_me">Remember me</label> <div class="controls"> <input name="admin[remember_me]" type="hidden" value="0" /> <label class="checkbox"><input class="boolean optional" id="admin_remember_me" name="admin[remember_me]" type="checkbox" value="1" />Remember me</label> </div> </div>

¿Cómo elimino esa primera etiqueta que se procesa, para que solo tenga la etiqueta en línea?


Encontré una solución después de mucho Google fu.

Use input_field lugar de la input que no generará automáticamente una etiqueta.

= f.input_field :remember_me, as: :boolean, inline_label: ''Remember me''


Para quien no funciona

= f.input_field ...

Usar de esta manera

= f.check_box ...


Puedes usar:

= f.input :remember_me, as: :boolean, inline_label: ''Remember me'', label: false


Tal vez sea demasiado tarde, pero inspirado por la respuesta de gamov he hecho de esto un contenedor personalizado de la casilla de arranque en línea en el archivo de inicializador '' config / simple_form_bootstrap.rb '':

config.wrappers :horizontal_radio_and_checkboxes, tag: ''div'', class: ''form-group'', error_class: ''has-error'' do |b| b.use :html5 b.optional :readonly b.use :label, class: ''col-sm-3 control-label'' b.use :input b.use :error, wrap_with: { tag: ''span'', class: ''help-block'' } b.use :hint, wrap_with: { tag: ''p'', class: ''help-block'' } end

que genera este html:

<div class="form-group boolean optional user_admin"> <label class="boolean optional col-sm-3 control-label" for="user_admin">Admin</label> <div class="col-sm-9 checkbox-inline"> <input name="user[admin]" value="0" type="hidden"> <input class="boolean optional" id="user_admin" name="user[admin]" value="1" type="checkbox"> </div>


.control-group.error .help-inline { display: none; }

Esto debería funcionar, funciona para mí en rails 3.2 y simple_form 2.x +