escape Javascript не работает с link_to_function (rails) - PullRequest
0 голосов
/ 02 декабря 2010

Эта строка отлично работает

        <%=link_to_function "name", "$('#thing_name').html('<p>name<p>')" %>

Эта строка не

        <%=link_to_function "name", "$('#thing_name').html('<%= escape_javascript(thing.name) %>')" %>

Тогда я избавляюсь от всего содержимого в <% =%>

       <%=link_to_function "name", "$('#thing_name').html('<%= %>')" %>

Он продолжает жаловаться на некоторые странные ошибки компиляции.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 26 февраля 2011

Вы уже находитесь в блоке ERB из-за открытия <%= в самом начале, и вы не можете использовать другой.Используйте строковую интерполяцию для оценки кода Ruby внутри строки:

<%= link_to_function "name", "$('#thing_name').html('#{escape_javascript(thing.name)}')" %>

В качестве альтернативы, если по какой-то причине вы не хотите использовать интерполяцию:

<%= link_to_function "name", "$('#thing_name').html('" + escape_javascript(thing.name) + "')" %>
0 голосов
/ 02 декабря 2010

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

<%=link_to_function "name", "$('#thing_name').html('"<%= escape_javascript(things.name) %>"')" %>

Обратите внимание на двойные кавычки вокруг <%= escape_javascript(things.name) %>

Должно работать ... хотя я все еще немного новичок в эрбе:)

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