2012-12-01 38 views
21

używam simple_form z bootstrap i chciałbym mieć z moim „Zapamiętaj mnie” pole wyboru być inline po lewej stronie etykiety, jak w docs Twitter Bootstrap: http://twitter.github.com/bootstrap/base-css.html#formssimple_form pole wyboru Bootstrap

My Kod formularza wygląda następująco:

<%= 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 %> 

W rezultacie pojawia się etykieta "Zapamiętaj mnie" na górze pola wyboru.

Co mi zawiedli?

Odpowiedz

57

Istnieje kilka opcji do tego, patrz here dla kilku z nich:

Najprostszym (chyba) jest użycie :label => false i :inline_label => true, na pole wyboru, aby zmienić gdzie w HTML etykieta Jest położone.

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

To daje coś takiego dla mnie:

enter image description here

+0

Dzięki! Dokładnie to, czego potrzebowałem. – hamsterdam

+0

@hamsterdam powinieneś oznaczyć tę odpowiedź jako zaakceptowaną! –

+0

Wielkie dzięki! Właśnie spędziłem dwie godziny próbując to rozgryźć :) –

5

@ odpowiedź alol za działa świetnie dla postaci pionowej (etykiety na górze pola), ale jeśli robisz Formularz poziomy i chcesz, aby etykiety pól wyboru były wyświetlane po prawej stronie pola wyboru, ale nadal zachowaj układ formularza, możesz to zrobić:

Można także przekazać określoną etykietą do wykorzystania jako etykiety inline zamiast true, jeśli chcesz:

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

myślę, że ten jest nieco prostsze:

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

Owijka przychodzi w pakiecie config/initializers/simple_form_bootstrap.rb co najmniej od simple_form 3.1.0rc2 po zainstalowaniu z:

rails g simple_form:install --bootstrap