Twitter-Bootstrap: Simple_form pas de forme horizontale ou de sortie HTML correcte?
Je ne sais pas pourquoi Sa ne pas dupliquer comme dans l'exemple. Quand j'ai mis le code suivant pour avoir cette forme:
<%= simple_form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :class => "form-horizontal" } ) do |f| %>
<%= f.input :user_name, :input_html => { :class => "span3" }, :hint => "just letters and numbers please." %>
<% end %>
Droit maintenant il ressemble à ceci:
Lorsque je veux qu'elle soit comme ça (le premier exemple ici: http://simple-form-bootstrap.plataformatec.com.br/articles/new).
Le Problème réside dans le HTML généré. Mon code HTML est:
<div class="input string optional">
<label for="user_user_name" class="string optional"> User name</label>
<input type="text" size="50" name="user[user_name]" maxlength="25" id="user_user_name" class="string optional span3">
<span class="hint">no spaces or special characters, just letters and numbers please</span>
</div>
Et Simple_forms HTML:
<div class="control-group string required">
<label for="article_name" class="string required">
<abbr title="required">*</abbr> Name
</label>
<div class="controls">
<input type="text" size="50" name="article[name]" id="article_name" class="string required span6">
<p class="help-block">add your article title here</p>
</div>
</div>
Totalement différent. Je pense que le Bootstrap générateur de ne pas générer? Qu'en pensez-vous? Que dois-je faire?
ressources
https://github.com/plataformatec/simple_form
https://github.com/rafaelfranca/simple_form-bootstrap
http://simple-form-bootstrap.plataformatec.com.br/
source d'informationauteur LearningRoR
Vous devez vous connecter pour publier un commentaire.
Avez-vous ajouté l'initialiseur de simple_form? cette initialiseur de jeux de l'emballage qui doit être utilisée pour la sortie du bootstrap html
Notez que cela fonctionne uniquement avec simple_form 2!
La sortie de
donne d'autres instructions:
De sorte que vous devez ajouter le
:html => {:class => 'form-horizontal' }
option pour chaque_form.html
fichier que vous souhaitez modifier la forme de style. Vous pouvez utiliser le formulaire de recherche", "form-inline", "form-horizontal", ou "forme-vertical" (par défaut).Définir le formulaire par défaut à l'horizontale, modifier
et de modifier la première ligne (à l'aide de votre forme préférée nom de la classe):
Pour ceux qui utilisent HAML, le chemin du fichier et le format sera différent.
Est votre forme css réglé sur "form-horizontal" dans la sortie HTML?
Si non, je pense que vous avez de l'envelopper le réglage de la :html :la classe en simple_form_for balise comme ceci:
Espère que cela aide.
Ne savez pas pourquoi vous avez marqué @ahmeij réponse comme correcte.
La bonne solution est dans votre commentaire vous devez vous assurer que vous utilisez simple_form version 2 et pas la version 1. Comme:
ou vous pouvez le faire comment exemple de simple_form bootstrap app sur github:
Et en cas où vous n'avez pas exécuté l'installation de la commande correcte est
Si vous êtes à la recherche pour ce faire avec simple_form v3 rc1, alors vous pouvez suivre les étapes que je exposer ici dans mon blog. Je viens de recherches tout cela et l'a mise en œuvre:
http://www.iconoclastlabs.com/blog/using-twitter-bootstrap-3-with-simple_form
copie config\initialiseurs\simple_form.rb à votre application,tout sera ok
J'ai essayé de nombreuses solutions différentes mais rien n'y fait jusqu'à ce que j'ai ajouté
wrapper: :horizontal_form
ligne à chacune des entrées de formulaire. Et, j'ai la dernière simple_form version: 3.2.1Par exemple:
= f.input :payment_term, wrapper: :horizontal_form
Indice: [https://gist.github.com/chunlea/11125126/%5D%5B1%5D
Pour simple_form
('~> 3.5')
et bootstrap 4, ne le follwing changement danssimple_form_bootstrap.rb
initialiseur:à
De changer toutes les formes à l'horizontale, faire la modification suivante:
config.default_wrapper = :vertical_form
à
config.default_wrapper = :horizontal_form
Et de changer seulement une forme ce faire:
<%= simple_form_for(@model, wrapper: :horizontal_form) do |f| %>
Aussi, vous pouvez avoir besoin de remplacer toutes les occurrences de
control-label
avecform-control-label
dans l'initialiseur pour aligner verticalement les étiquettes. Source