Как сделать простую точку "." в HAML? - программирование
Подтвердить что ты не робот

Как сделать простую точку "." в HAML?

В моем проекте Ruby on Rails я использую HAML, мне нужно перевести что-то вроде этого

<div>foo <a>bar</a>.<div>

в HAML. Он должен выглядеть так:

.divclass
  foo
  %a bar
  .     

Период при запуске не работает, потому что он используется HAML. Итак, как я могу использовать период как контент?

Даже при создании пролета вокруг его нерабочего, снова период считается чем-то особенным.

Я думаю, что есть механизм эвакуации, но я не могу его найти.

4b9b3361

Ответ 1

Он экранируется с помощью \

как это

\.

См. Escaping\ в ссылке HAML.

Обновление: Использование HAML succeed (как в этом ответе) - лучшее решение, если вам нужна точка в конце предложение (для предотвращения ненужного пробела).

Ответ 2

Лучший метод:

%p
  This sentence ends with a link which is *just* before a period
  = succeed "." do
    %a{:href => "#"} link
  But the period wasn't included with the link and there was no space before the period.

Ответ 3

У вас также есть доступ к фильтру: plain, например:

%p 
  :plain
    .

Ответ 4

Я собираюсь добавить еще один вариант, используя встроенный помощник link_to Rails вместо того, чтобы вручную создать ссылку. Тогда вы можете просто сделать

%p
  This sentence ends with a link which is *just* before a period
  #{ link_to "link", "#" }.

Различные решения будут работать в разных местах, но я считаю, что это довольно чисто, особенно если вы уже используете link_to или mail_to и т.д.