2012-10-24 1 views
10
<p><%= f.input :terms, :as => :boolean, :label => false, :boolean_style => :inline %> 
Accept <%= link_to "Terms of use", terms_path,:remote => true %> 
and <%=link_to "privacy Policy", privacy_path, :remote => true%></p> 

Si finisce per assomigliare questoSimple_form come fare accettare termini casella di controllo in linea

enter image description here

Qual è il modo migliore per allinearli sulla stessa linea.

risposta

23

Ecco un modo piuttosto semplice:

<%= content_for(:the_links) do %> 
    Accept <%= link_to "Terms of use", terms_path,:remote => true %> 
    and <%=link_to "privacy Policy", privacy_path, :remote => true%> 
<% end %> 

<%= simple_form_for @user do |f| %> 
    <%= f.input :email %> 
    <%= f.input :password %> 
    <%= f.input :terms, :as => :boolean, :label => content_for(:the_links)%> 
<% end%> 

the-non-styled-output

+0

Ha funzionato bene. Grazie! – Benamir

+0

bel uso di content_for block :) – engineerDave

+0

Ehi, questo è un grande trucco con il 'content_for'. Molto utile. – paracycle

1

Assicurarsi che la casella di controllo e il testo sono abbastanza piccolo da stare in una riga all'interno del contenitore, quindi impostare display: inline; o float:left;

+0

display: inline non funziona e funziona a sinistra, ma sembra strano perché il mio modulo è centrato. – Benamir

0

Prova utilizzando wrapper_html come questo:

<p> 
    <%= f.input :terms, 
      :as => :boolean, 
      :label => false, 
      :boolean_style => :inline,  
      :wrapper_html => { :style => 'display: inline' } 
    %> 
    Accept <%= link_to "Terms of use", terms_path,:remote => true %> 
    and <%=link_to "privacy Policy", privacy_path, :remote => true%> 
</p> 
+0

hmm, sfortunatamente non funziona ancora. – Benamir