Rails HTML-манипулирование с помощью JQuery - PullRequest
0 голосов
/ 08 июля 2011

У меня проблемы с обработкой JQuery с помощью ruby.

Например, следующая строка кода должна добавить имя пользователя @ user после div с идентификатором title.

$('#title').after('<%= escape_javascript(@user.first.username') %>);

Однако вывод, который я получаю, является строкой, в которой не было выполнено синтаксический анализ, в комплекте с &lt;

Я не нашел ничего специально об этом написанного в Stack Overflow, и я 'Мы безуспешно следовали нескольким учебникам.

Заранее благодарим за помощь!

Ответы [ 2 ]

0 голосов
/ 08 июля 2011

Я бы сказал, что вы не должны использовать этот подход ... Размещение тегов скрипта в вашем эрбе - это запах IMO.Было бы лучше создать скрытое поле ввода с именем пользователя и идентификатором «user_name», а затем использовать ненавязчивый js в вашем app.js, чтобы получить значение поля и добавить его.

$(document).ready(function(){
   $('#title').after($('input#user_name').val());
 });
0 голосов
/ 08 июля 2011

erb анализируется перед загрузкой страницы, поэтому он вставляет код erb во время выполнения javascript, который вообще не анализируется.Лучший способ сделать это - вставить JS для установки переменной, а затем использовать эту переменную:

<script>
var myObj = "<%= escape_javascript(@user.first.username) %>";
$('#title').after(myObj);
</script>
...