simple_form avec Bootstrap case à cocher
Je suis en utilisant simple_form avec Bootstrap et je voudrais avoir mon "se Souvenir de moi" case à cocher être en ligne à la gauche de l'étiquette, comme dans le Twitter Bootstrap docs: http://twitter.github.com/bootstrap/base-css.html#forms
Mon formulaire code ressemble à ceci:
<%= 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 %>
Le résultat est le "se Souvenir de moi" de l'étiquette sur le dessus d'une case à cocher.
Qu'ai-je foiré?
Vous devez vous connecter pour publier un commentaire.
Il y a un certain nombre d'options pour cela, voir ici pour plus d'entre eux:
Le plus simple (je pense) est d'utiliser
:label => false
et:inline_label => true
, sur votre case, pour changer de où dans le code HTML de l'étiquette est placée.<%= f.input :remember_me, :as => :boolean, :label => false, :inline_label => true if devise_mapping.rememberable? %>
Ce qui produit quelque chose comme ça pour moi:
@alol réponse fonctionne très bien pour une forme verticale (étiquettes en haut des champs), mais si vous faites une horizontale formulaire et que vous souhaitez que la case étiquettes à afficher à droite de la case, mais encore conserver la mise en page du formulaire, vous pouvez le faire:
Vous pouvez également passer un label spécifique pour l'utiliser comme inline l'étiquette à la place de
true
, si vous avez besoin de:Je pense que celui-ci est un peu plus simple:
L'emballage est livré dans
config/initializers/simple_form_bootstrap.rb
au moins à partir desimple_form 3.1.0rc2
lors de l'installation avec: