formulario simple con casilla de verificación Bootstrap
Estoy usando simple_form con Bootstrap y me gustaría tener mi casilla de verificación" Recordarme" en línea a la izquierda de la etiqueta, como en los documentos de Bootstrap de Twitter: http://twitter.github.com/bootstrap/base-css.html#forms
Mi código de formulario se ve así:
<%= simple_form_for(resource, :as => resource_name, :url => session_path(resource_name), :html => { :class => 'well'}) do |f| %>
<%= f.input :email %>
<%= f.input :password %>
<%= f.input :remember_me, :as => :boolean if devise_mapping.rememberable? %>
<%= f.button :submit, "Sign In" %>
<% end %>
El resultado es la etiqueta "Recuérdame" en la parte superior de una casilla de verificación.
¿Qué he estropeado?
3 answers
Hay una serie de opciones para esto, ver aquí para más de ellas:
Lo más sencillo (creo) es usar :label => false
y :inline_label => true
, en su casilla de verificación, para cambiar el lugar en el HTML donde se coloca la etiqueta.
<%= f.input :remember_me, :as => :boolean, :label => false, :inline_label => true if devise_mapping.rememberable? %>
Esto produce algo como esto para mí:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-12-01 09:17:59
La respuesta de@alol funciona muy bien para un formulario vertical (etiquetas en la parte superior de los campos), pero si está haciendo un formulario horizontal y desea que las etiquetas de la casilla de verificación se muestren a la derecha de la casilla de verificación, pero aún así se mantengan con el diseño del formulario, puede hacer esto:
f.input :remember_me, :as => :boolean, :label => " ", :inline_label => true if devise_mapping.rememberable?
También puede pasar una etiqueta específica para usarla como etiqueta en línea en lugar de true
, si necesita:
f.input :remember_me, :as => :boolean, :label => " ", :inline_label => "My Label" if devise_mapping.rememberable?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-23 18:30:54
Creo que este es un poco más simple:
f.input :remember_me, wrapper: :vertical_boolean, as: :boolean if devise_mapping.rememberable?
El wrapper viene incluido en config/initializers/simple_form_bootstrap.rb
al menos desde simple_form 3.1.0rc2
cuando se instala con:
rails g simple_form:install --bootstrap
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-15 21:52:03