Как поместить текстовый и рубиновый код из link_to в одну строку в haml? - PullRequest
1 голос
/ 02 мая 2011

Я пытаюсь поместить link_to между ( и ), выполнив это:

= div_for review do
    = link_to review.title, review_path(review)
    (
    = link_to review.user.email, user_path(review.user)
    )

Результат не тот, который я хочу, потому что он ставит пробелы между круглыми скобками и текстом ссылки, поэтому выглядит так:

 link1 ( link2 )

Но я хочу, чтобы это выглядело так:

 link1 (link2)

Как мне это сделать с помощью haml?

Ответы [ 3 ]

5 голосов
/ 07 июня 2012

Я недавно нашел интересную вещь о haml

== - Рубиновая интерполированная строка

%h1== (#{link-to review.user.email, user_path(review.user)})

похожа на

%h1= raw "(#{link_to review.user.email, user_path(review.user)})"
4 голосов
/ 02 мая 2011
= link_to review.title, review_path(review)
= surround '(', ')' do
  = link_to review.user.email, user_path(review.user)

В качестве альтернативы, вы можете поместить свою ссылку в тег span и попросить Хамла использовать пробел:

(
%span>= link_to review.user.email, user_path(review.user)
)
3 голосов
/ 02 мая 2011

Используйте строку со встроенным ruby:

= link_to review.title, review_path(review)
=raw "(#{link_to review.user.email, user_path(review.user)})"

Необработанный файл предназначен только для Rails 3 (и выше).

...