Rails - вставка переменных внутри тега изображения - PullRequest
2 голосов
/ 27 февраля 2011

Я пытаюсь создать динамический URL-адрес image_tag.Вот что у меня есть

<%= image_tag('#{::Rails.root.to_s}/member.gif?id=#{@member.id}&d=#{@dog,id}') %>

Но это не рендеринг с реальными переменными, а рендеринг точно так же, как и выше.

Ответы [ 2 ]

7 голосов
/ 27 февраля 2011

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

<%= image_tag("#{::Rails.root.to_s}/member.gif?id=#{@member.id}") %>

Оператор # {} не будет выполняться внутри строк в одинарных кавычках.

Чтобы ответить на вопрос в комментариях, чтобы пометить строку как безопасную HTML, что означает, что специальные символы HTML не должны быть экранированы, вы можете использовать функции raw или html_safe:

"#{::Rails.root.to_s}/member.gif?id=#{@member.id}".html_safe
raw "#{::Rails.root.to_s}/member.gif?id=#{@member.id}"
3 голосов
/ 27 февраля 2011

Используйте двойные кавычки, внутри одинарных кавычек нет обработки переменных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...