Ошибка «Не могу найти переменную» с Rails 3.1 и Coffeescript

У меня есть представления в моем приложении, которые ссылаются на мой файл application.js, содержащий функции, которые я использую во всем своем приложении.

Я только что установил кандидат на выпуск Rails 3.1 после того, как использовал крайнюю версию 3.1. Пока я не установил RC, я не Единственное отличие, которое я заметил в файле javascript, заключается в том, что теперь все мои функции заключены в:

(function() { ... }).call(this);

Я так понимаю, это для области видимости переменных? Но могло ли это помешать моим страницам использовать эти переменные? И прежде чем кто-нибудь спросит, я убедился, что в моих включаемых тегах указаны правильные пути javascript.

22
задан tanman 22 May 2011 в 18:46
поделиться

1 ответ

Решение Догберта - отличный способ, если у вас очень сложный JS-сервер. Однако есть гораздо более простое решение, если у вас есть только несколько функций, с которыми вы работаете. Просто добавьте их непосредственно к объекту окна, например, так:

window.indicator_tag = (el) ->
  ...

Затем вы можете использовать свои функции из любого места без необходимости заключать их в другой объект.

12
ответ дан 29 November 2019 в 03:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: