2012-02-29 8 views
5

piszę tekst w haml:haml usuń spacje przed kropką po dodaniu szyn link_to, mail_to

Blab bla for any questions contact us on [email protected] 

więc haml wygląda

%p 
    Blab bla for any questions contact us on 
    = mail_to '[email protected]' 
    . 

nocie & # 46; jest kropka w ASCII, mogę również wymienić tę linię z = '.' (renderowanie ciąg kropka)

ale renderowane tekst wygląda

Blab bla for any questions contact us on [email protected] . 

Różnica polega na tym, że spacja przed kropką na końcu

się rozwiązanie wymyśliłem i działa to

%p 
    Blab bla for any questions contact us on 
    = mail_to('[email protected]') + '.' 

to właśnie szukam najlepszej praktyki :) thx

Odpowiedz

10

użyję tego:

%p 
    Blab bla for any questions contact us on #{mail_to('[email protected]')}. 

zobaczyć również the Haml FAQ:

Wyrażając strukturę dokumentu i wyrażania formatowanie inline są dwa bardzo różne problemy. Haml jest w większości zaprojektowany pod kątem struktury, więc najlepszym sposobem radzenia sobie z formatowaniem jest pozostawienie go innym językom, które zostały do ​​niego zaprojektowane.

W tym przypadku nie potrzebujesz innego języka, po prostu interpoluj funkcję.

+0

Ten jest niesamowitą wygraną :) !!! dzięki. Link był również pomocny. – equivalent8

+0

jeszcze jedno pytanie jest to po prostu lokalna szyna lub suportem haml domyślnie przy użyciu jakiejkolwiek struktury ruby ​​(sinatra, padrino f.e.)? – equivalent8

+0

@ equivalent8 To normalne zachowanie Haml: http://haml-lang.com/docs/yardoc/file.HAML_REFERENCE.html#ruby_interpolation_ – matt

5

Jeśli było użyć notacji ==, za zgodne z mail_to, powinieneś być w stanie robić to, co chcesz, likle to:

== #{mail_to '[email protected]'}. 

Zapis == dokonuje interpolacji dla całej linii.

+0

Tak, to działa, i jest bardziej eleganckie niż moje rozwiązanie. Zobacz, jakie są inne rozwiązania :) – equivalent8

3

HAML ma a bunch of helpers do łatwego rozwiązywania takich sytuacji. succeed rozwiązuje problem z kropkami.

= succeed '.' do 
    = link_to t('info.terms'), info_path(:terms)