Ruby - Rails - Передача текста в JavaScript
289 просмотра
2 ответа
Почему этот текст не передается в javascript / jquery? @i[:error]
определенно есть строка в нем, я могу напечатать это на консоли.
файл js.erb -
<% if @i[:error] != "" %>
<% puts "--> " + @i[:error] %>
#--> error
#Validation error(s):
#- Item Is not defined or blank. # that's the error string in @i[:error]
$(function() {
$("#error_message").attr("class", "message_error");
$('#error').text("<%= @i[:error]%>"); #Not working for @i[:error]
#$('#error').text("<%= "#{@i[:error]}"%>");#Not working for @i[:error]
#$('#error').text("Test"); #This is working
#$('#error').text("<%= "?????"%>"); #This is working
});
<% else %>
........#fine here
<% end %>
Автор: Kapish M
Источник
Размещён: 13.11.2019 11:31
Ответы (2)
1 плюс
Да, это возможно из-за разрыва строки. Вы можете исправить это с помощью escape_javascript
.
Экранирует возврат каретки и одинарные и двойные кавычки для сегментов JavaScript.
Так:
$('#error').text("<%= escape_javascript(@i[:error]) %>");
Автор: Mischa
Размещён: 13.05.2012 01:28
0 плюса
Если вы укажете, что говорит отладчик, вам будет легче понять проблему. Этот код для представления erb работает нормально:
<% @i = {} %>
<% @i[:error] = "Error" %>
<% unless @i[:error].blank? %>
<script>
$(document).ready(function() {
$('#error').text('<%= @i[:error] %>'); // Works fine
});
</script>
<% end %>
Обратите внимание, что пустота строки проверяется пробелом? метод, я думаю, это выглядит намного лучше, чем использование оператора ! = .
Автор: makaroni4 Размещён: 13.05.2012 12:44Вопросы из категории :
- ruby Вызов команд оболочки из Ruby
- ruby Почему в Ruby нет реального StringBuffer или StringIO?
- ruby Как создать случайный 10-значный номер в рубине?
- ruby Каков наилучший способ конвертировать массив в хеш в Ruby
- ruby Determine file type in Ruby
- ruby Раскладка каталога для чистого Ruby-проекта
- ruby Как я могу "красиво" отформатировать вывод JSON в Ruby on Rails?
- ruby Как сгенерировать случайную строку в Ruby
- ruby Изменения модели документа CouchDB?
- ruby JRuby on Rails против Ruby on Rails, в чем разница?
- ruby-on-rails-3 Как исправить «У вас нет прав на запись в каталог / usr / bin» при установке Rails?
- ruby-on-rails-3 Rails3 получает текущее имя макета из вида
- ruby-on-rails-3 Рендеринг действия контроллера от другого контроллера
- ruby-on-rails-3 ActiveRecord ИЛИ запрос
- ruby-on-rails-3 Фильтрация дочерних объектов в отношении has_many: through в Rails 3
- ruby-on-rails-3 Ссылка «Удалить» отправляет «Get» вместо «Delete» в представлении Rails 3
- ruby-on-rails-3 Rails - лучшая практика: как создать зависимые отношения has_one
- ruby-on-rails-3 Rails DB Migration - Как удалить таблицу?
- ruby-on-rails-3 Rails3: HOWTO Переопределение / повторное открытие класса в Gem и процессе инициализации Rails
- ruby-on-rails-3 Маркер подлинности запроса AJAX в Rails 3 игнорируется