simple_form_for simple rails form example collection ruby twitter-bootstrap erb simple-form

ruby - rails - simple_form con la casilla de verificación Bootstrap



simple form hidden (3)

Creo que este es un poco más simple:

f.input :remember_me, wrapper: :vertical_boolean, as: :boolean if devise_mapping.rememberable?

El envoltorio 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

Estoy usando simple_form con Bootstrap y me gustaría que mi casilla de verificación "Recordarme" esté en línea a la izquierda de la etiqueta, como en los documentos de Twitter Bootstrap: 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 "Recordarme" en la parte superior de una casilla de verificación.

¿Qué he estropeado?


Hay una serie de opciones para esto, vea here para más de ellas:

Lo más directo (creo) es usar :label => false y :inline_label => true , en su casilla de verificación, para cambiar la ubicación del HTML en la etiqueta.

<%= f.input :remember_me, :as => :boolean, :label => false, :inline_label => true if devise_mapping.rememberable? %>

Esto produce algo como esto para mí:


La respuesta de @ alol funciona muy bien para una forma vertical (etiquetas en la parte superior de los campos), pero si está haciendo una forma horizontal y desea que las etiquetas de las casillas de verificación se muestren a la derecha de la casilla de verificación, pero aún así siga con el diseño El formulario, puede hacer esto:

f.input :remember_me, :as => :boolean, :label => "&nbsp;", :inline_label => true if devise_mapping.rememberable?

También puede pasar una etiqueta específica para usar como etiqueta en línea en lugar de true , si necesita:

f.input :remember_me, :as => :boolean, :label => "&nbsp;", :inline_label => "My Label" if devise_mapping.rememberable?