Я тоже столкнулся с этой проблемой. В большом проекте вы можете сделать так, чтобы кто-то вставил код в документ, готовый, например, добавить функцию щелчка для каждого li в div с классом container .
Теперь мы можем утверждать, что приведенный выше код будет слишком общим и, конечно, может повлиять на теги li в других частях приложения, но чем больше проект, тем больше вероятность того, что вы будете столкнуться с подобным конфликтом, ведущим к неожиданному поведению.
Мне, например, неудобно, когда для каждой загруженной страницы запускается целый набор функций, готовых для документов. Мое решение не обязательно является идеальным, но я выбрал его и поделюсь с вами.
В теге body каждой страницы я добавляю элементы данных, обозначающие контроллер и действие. Затем у меня есть один готовый сценарий для документа, который ищет класс, названный в честь контроллера с добавленным именем Ready, например. HomeReady. Затем он вызовет метод этого класса (предположим, что он существует), названный в честь действия. Таким образом, в вашем файле кофе вы можете написать:
class @HomeReady
@index: ->
alert("Hello")
@show: ->
alert("Goodbye")
Это позволяет контролировать вплоть до уровня действия. Когда я наткнулся на ваш вопрос, я решил упаковать это решение в жемчужину, поскольку я уже использовал его в нескольких проектах. Вы можете найти его по адресу: https://github.com/intrica/rails_document_ready