2012-03-19 104 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