Побег код рубина внутри строки HTML - PullRequest
0 голосов
/ 30 марта 2012

У меня есть объект в моем контроллере

@data="<meta property=\"og:url\"
             content=\"<%=SITE_URL%><%=request.request_uri%>\"
      />".html_safe

Когда я распечатываю его в файле моего просмотра с помощью <% = @ data%> HTML-кода, который он генерирует, это

<meta property="og:url" 
      content="<%=SITE_URL%><%=request.request_uri%>"
/>

Как распечатать / экранировать код ruby ​​со строкой?

Ответы [ 3 ]

2 голосов
/ 30 марта 2012

Вы ищете интерполяцию строки, что означает, что в строке она заменяет значение переменной. Обведите переменные символом # {} следующим образом: http://en.wikibooks.org/wiki/Ruby_Programming/Syntax/Literals#Interpolation

@data="<meta property=\"og:url\"
         content=\"#{SITE_URL} #{request.request_uri}\"
  />".html_safe

Теперь, когда вы делаете <%= @data %>, оно должно отображаться нормально.

0 голосов
/ 30 марта 2012
@data="<meta property=\"og:url\"
         content=\"<%= #{SITE_URL}%><%= #{request.request_uri} %>\"
  />"

В ваших представлениях используйте метод raw helper

<%= raw(@data) %>
0 голосов
/ 30 марта 2012

Вы можете попробовать h helper, как это .....

   <%=h(@data)  %>

также сырье можно использовать

    <%=raw(@data) %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...