2012-03-19 50 views
3

我有下面的代碼不工作:嵌套Ruby on Rails的HAML複選框在標籤吊牌

= form_for(resource, :as => resource_name, :url => session_path(resource_name), :html => { :class => "well" }) do |f| 

= f.label :email 
= f.email_field :email 

= f.label :password 
= f.password_field :password 
- if devise_mapping.rememberable? 
%p 
    = f.label :remember_me, :class => "checkbox" 
    = f.check_box :remember_me, :class => "checkbox" 

    %div= f.submit "Einloggen" 
= render :partial => "devise/shared/links" 

它只能以這種方式,但我需要它在同一行,而不是在WTO:

%p 
    = f.label :remember_me, :class => "checkbox" 
    = f.check_box :remember_me, :class => "checkbox" 

請幫忙!我現在真的很鄙視。我只想將複選框嵌套在靴子形式的標籤中。我搜索谷歌和計算器但一無所獲

UPDATE:

我現在解決這樣的:

- if devise_mapping.rememberable? 
%p 
    %label.checkbox{ :for => "remember_me" } 
    = f.check_box :remember_me, :class => "checkbox" 
    Remember 
+0

你有沒有試過http:// haml-lang.com/docs/yardoc/file.HAML_REFERENCE.html#whitespace_removal__and_ – 2012-03-19 17:57:13

回答

10

什麼:

%p 
    = f.label :remember_me, :class => "checkbox" do 
    = f.check_box :remember_me, :class => "checkbox" 
+0

謝謝!那是​​做! – florigee 2012-03-20 06:44:29

+0

我可以告訴,當你想巢HAML中的一些東西,無論它是在常規標記下,還是無所事事(indent除外),無論它是在ruby代碼下,然後你必須縮進並提供它作爲塊(鑑於ruby方法接受它) – ksol 2012-03-20 08:22:10

0

使用:

%p #{f.label :remember_me, :class => :checkbox} : #{f.check_box :remember_me, :class => :checkbox} 
+0

不,不起作用。我得到了「和eveything分成兩行:(但是,謝謝 – florigee 2012-03-19 17:53:01

+0

我只是檢查我的項目,我沒有雙引號。它的工作。 – 2012-03-19 19:34:29