2015-06-12 4 views
0

я хотел бы использовать chartjs с рельсов в целях, он прекрасно работает, но при использовании опции, как этот:Использование chartjs с рельсами

legendTemplate : "<ul class=\"<%=name.toLowerCase()%>-legend\"><% for (var i=0; i<datasets.length; i++){%><li><span style=\"background-color:<%=datasets[i].strokeColor%>\"></span><%if(datasets[i].label){%><%=datasets[i].label%><%}%></li><%}%></ul>" 

рельсы будут истолковывать <% и запустить name.toLowerCase() как рубиновый код, который на самом деле является javascript, как я могу избежать «<%» в рельсах?

+1

Rails работает на вашем сервере, javascript запускается в браузере пользователя. Вы можете использовать рельсы для javascript BUILD для запуска на клиенте, но рельсы не могут получить доступ к среде выполнения javascript. Не могли бы вы объяснить (в редакции своего вопроса, а не комментарий), чего вы на самом деле пытаетесь достичь? –

+0

oh зависать, вы просто имеете в виду «как преобразовать строку в строчный регистр в рельсах?» Если это ваш вопрос, ответ будет «<% = name.downcase%>» –

+0

Нет, вы не поняли смысла. Хм, давайте представим себе, что я хочу написать <% = на странице, как мне избежать этого? \ <\% \ =? –

ответ

1

добавить дополнительный знак процента:

<%%= @foo %> => "<%= @foo %>" 

или

<%% foo %> => "<% foo %>" 

BTW в случае, если вы хотите, чтобы начать прибегая к помощи вещи вместо того, чтобы использовать SO, я гугле «бежать Еврорадио теги», чтобы получить это , я раньше этого не делал.

+0

BTW Мне любопытно, что вы здесь делаете, это кажется довольно задним. –

+0

Спасибо, я не являюсь носителем английского языка, я не знал, что набирать в google, чтобы найти ответ на этот вопрос, поэтому я в основном искал такие вещи, как «escape ruby ​​brackets», «escape ruby ​​code in views», .. Я использую эту библиотеку: https://github.com/nnnick/Chart.js/blob/master/Chart.js, если вы посмотрите на строку 491, вы увидите, что она использует тег ruby, поэтому, когда Я пишу свой код внутри

Смежные вопросы