2012-02-29 33 views
5

Tôi đang viết văn bản trong Haml:Haml loại bỏ khoảng trắng trước dấu chấm sau khi thêm đường ray link_to, mail_to

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

nên Haml trông giống như

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

lưu ý & # 46; được rải rác trong ascii, tôi cũng có thể thay thế dòng đó với = '.' (render chuỗi dot)

nhưng văn bản trả lại trông giống như

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

khác biệt là khoảng trắng trước dấu chấm ở cuối

sự giải pháp tôi đã đưa ra và làm việc là

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

nó chỉ là tôi đang tìm thực hành tốt nhất :) thx

Trả lời

10

Tôi muốn sử dụng này:

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

Xem thêm the Haml FAQ:

Bày tỏ cấu trúc của một tài liệu và thể hiện định dạng inline là hai vấn đề rất khác nhau. Haml chủ yếu được thiết kế cho cấu trúc, vì vậy cách tốt nhất để xử lý định dạng là để nó sang các ngôn ngữ khác được thiết kế cho nó.

Trong trường hợp này, bạn không cần ngôn ngữ khác, chỉ cần nội suy hàm.

+0

Đây là một chiến thắng sử thi :) !!! cám ơn. Liên kết cũng hữu ích. – equivalent8

+0

một câu hỏi nữa là đây chỉ là điều rails địa phương hoặc được hỗ trợ bởi haml theo mặc định khi sử dụng bất kỳ khuôn khổ ruby ​​nào (sinatra, padrino f.e.)? – equivalent8

+0

@ equivalent8 Hành vi Haml bình thường: http://haml-lang.com/docs/yardoc/file.HAML_REFERENCE.html#ruby_interpolation_ – matt

5

Nếu bạn đã sử dụng == ký hiệu, cho phù hợp với mail_to, bạn sẽ có thể làm những gì bạn muốn, likle này:

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

Ký hiệu == thực hiện nội suy cho toàn bộ dòng.

+0

yep, tính năng này hoạt động và thanh lịch hơn giải pháp của tôi. Sẽ se những giải pháp khác đang có :) – equivalent8

3

HAML có a bunch of helpers để giải quyết các tình huống như vậy một cách dễ dàng. succeed giải quyết vấn đề dấu chấm.

= succeed '.' do 
    = link_to t('info.terms'), info_path(:terms) 
Các vấn đề liên quan