2011-04-15 18 views
27

Aşağıdaki kod HTML bir boşluk bırakır sonra boşluk kaldırmak:HAML: "link_to"

= link_to "Login", "#" 

Normalde HAML örneğin, satırın sonunda ">" koyarak kaldırmanızı sağlar : Rails kodu eklendiğinde, bu imkansız gibi gözükmektedir. Ancak, bu, imkansız gibi görünmektedir, ancak Rails kodu eklendiğinde bu imkansız gibi görünmektedir.

Bunu nasıl düzeltirim?

+1

Bu yanıt çok daha iyi: http: // stackoverflow.com/questions/1311428/haml-control-whitespace-around-text – rking

cevap

18

Bu nasıl?

%span>= link_to "Login", "#" 

Bağlantının etrafına fazladan bir boşluk ekler, ancak bunlar oldukça zararsızdır. Eğer kaçınmak istiyorsanız, işleme gerektirecektir gereksiz html etiketi ekler olarak

Ben haml bu köşe durumlarda :(

+1

Bu, bir blok sağlandığında çalışmaz. – benastan

+0

Bir blokta:% span <> \ n = link_to "#" do ... – benastan

8

Aşağıdaki satırda > ürününü kullanabilirsiniz.

= link_to "Login", "#" 
#something_else> 
+3

Teşekkürler,% span {: style => "display: none;"}> iyi çalışıyor, ancak birden çok kez kullanmak böyle korkunç bir çözüm .. Umarım daha iyi bir yol vardır. – krn

20

açıklıklı çözüm bazılarıyla bir sorunun biraz olabilir bulmak ideal değildir <span> kullanmanız gerektiğini HAML en succeed: aşağıdaki HTML sonuçlanacaktır

= succeed "," do 
    = link_to "Login", "#" 

işlenmiş:

Login, 

ziyade Not

Login , 

daha o size şu sonucu elde etmek istiyorsanız:

Login,Profile 

yani aşağıdakileri yapmanız gerekir virgül ve iki bağlantıları arasında hiçbir boşluk:

= succeed link_to "Profile", '#' do 
    = succeed "," do 
    = link_to "Login", '#' 

çok yorucu olan

+0

Bunun hiç bir fikri yoktu, teşekkürler! –

+0

Ne bir mücevher. Bunu yapmanın "doğru" yolu. Belgeler: http://haml.info/docs/yardoc/Haml/Helpers.html#succeed-instance_method – Benji

0

Bu konuya gelen herkes için En çok, bir bağlantının bir cümlenin sonunda olduğunda en çok boşlukları kaldırmam gerekir.

Genellikle kullanacağız: sonuçlanır

= link_to("Login", '#) + '. '

: yakut filtresi: Burada

<a href="#">Login</a>.

0

kullanarak birkaç raylar çizgiler arasındaki boşlukları gidermek için başka yoksul bir alternatif çözüm:

:ruby 
      haml_io.write f.hidden_field('params_ar[][units]', value: 'time') 
      haml_io.write f.text_field("params_ar[][minutes]", value:pars[param_num][:minutes],class:'time-input minutes', placeholder:'mm') 
      haml_io.write ':' 
      haml_io.write f.text_field("params_ar[][seconds]", value:pars[param_num][:seconds],class:'time-input seconds' ,placeholder:'ss')