У меня есть представления в моем приложении, которые ссылаются на мой файл application.js, содержащий функции, которые я использую во всем своем приложении.
Я только что установил кандидат на выпуск Rails 3.1 после того, как использовал крайнюю версию 3.1. Пока я не установил RC, я не Единственное отличие, которое я заметил в файле javascript, заключается в том, что теперь все мои функции заключены в:
(function() { ... }).call(this);
Я так понимаю, это для области видимости переменных? Но могло ли это помешать моим страницам использовать эти переменные? И прежде чем кто-нибудь спросит, я убедился, что в моих включаемых тегах указаны правильные пути javascript.
Решение Догберта - отличный способ, если у вас очень сложный JS-сервер. Однако есть гораздо более простое решение, если у вас есть только несколько функций, с которыми вы работаете. Просто добавьте их непосредственно к объекту окна, например, так:
window.indicator_tag = (el) ->
...
Затем вы можете использовать свои функции из любого места без необходимости заключать их в другой объект.