Rails & Haml - Передача данных в JavaScript

1

Я пытаюсь передать данные из моих представлений haml в javascript. В моем приветственном контроллере у меня есть индексный метод. В моем файле index.html.haml у меня есть следующее:

:javascript
  window.putalert = "#{ "Data" }";

и в моем приветствии.js.coffee у меня есть:

jQuery ->
        alert putalert

Однако вышеуказанное не работает. Я получаю Uncaught ReferenceError: putalert не определен.

Любые предложения о том, как это решить?

Сообщение об ошибке в chrome-отладке

(function() {

  jQuery(function() {
    return alert(putalert);
Uncaught ReferenceError: putalert is not defined
  });

}).call(this);
Теги:
haml

2 ответа

2

Вы можете вставить javascript с помощью тега javascript haml. Вы можете вставить Ruby С# {}. Попробуйте что-то вроде этого:

:javascript
  window.putalert = "#{ "Data" }";

Вы даже можете вставить coffeescript в свои представления, если хотите (для этого вам нужно использовать наклон):

:coffee
  @putalert = "#{ "Data" }"

Здесь ссылка на фильтры haml: http://haml.info/docs/yardoc/file.REFERENCE.html

  • 0
    Привет :javascript window.putalert = "#{ "Data" }"; не работает. Я все еще получаю Uncaught ReferenceError: ошибка putalert не определена.
  • 0
    Хм, это работает здесь .... Можете ли вы опубликовать немного больше информации?
Показать ещё 2 комментария
0

Один очень хороший способ обработки данных для JavaScript в целом - использовать атрибуты данных в тегах HTML. Затем, используя что-то вроде jQuery, вы можете вытащить эту информацию. Это немного чище, чем впрыскивать его в js.

Дополнительная информация: http://ejohn.org/blog/html-5-data-attributes/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню