Как добавить динамически генерируемый встроенный JavaScript с использованием Rails 3.1 и Haml - PullRequest
2 голосов
/ 28 июля 2011

Я использую Rails 3.1 и Haml. Каков наилучший способ добавить встроенный JavaScript, который создается в чем-то, например, блок form_for. Я попробовал следующее:

В макетах / application.html.haml,

...
:javascript
  yield(:jstemplates)
...

А в моем блоке form_for

...
= content_for :jstemplates do
  = "var my_var='#{generate_template(form, :my_field)}'"
...

Вместо этого я должен был сделать следующее:

...
:javascript
  #{@my_javascript}
...

и

...
- @my_javascript = capture_haml do
  var my_var='#{generate_template(form,:my_field)}'
...

1 Ответ

1 голос
/ 30 декабря 2011

Обычно в нижней части макета приложения отображается следующее:

:javascript
  $(document).ready(function() {
    #{yield :javascript}
  });

когда у меня есть javascript для конкретного вида, я записываю его прямо в представление следующим образом:

- content_for :javascript do
  :plain
    doSomeFunkyStuffWithRailsParameters( #{@whatever.title} );
...