мои приложения rails (все 2.3.5) используют общее сочетание встроенных javascript, rjs, prototype и jquery. Позвольте назвать это изучением или растущими болями. В последнее время я все больше и больше увлекался ненавязчивым javascript. Это делает ваш html чистым, так же как css очистил его.
Но большинство примеров, которые я видел, являются небольшими примерами, и они помещают все javascript (jquery) в application.js
Теперь у меня есть довольно большое приложение, и я придумываю способы структурирования js. Мне как-то нравится, что мой script все еще близок к представлению, поэтому я думаю что-то вроде
orders.html.erb
orders.js
где orders.js содержит ненавязчивый javascript, специфичный для этого представления. Но, может быть, я просто слишком консервативен:)
Я прочитал некоторые сообщения Иегуды Кац об этой самой проблеме здесь и здесь, где он решает эту проблему. Он будет проходить через ваши js файлы и загружать только те, которые имеют отношение к вашему представлению. Но, увы, я не могу найти текущую реализацию.
Итак, мои вопросы:
- как вам лучше всего структурировать ваш ненавязчивый javascript; управляйте своим кодом, как вы убедитесь, что из html очевидно, что что-то должно делать. Я думаю, что хорошие имена классов проходят долгий путь:)
- Как вы упорядочиваете файлы, загружаете их все? немного? вы используете
content_for :script
илиjavascript_include_tag
в своем представлении для загрузки соответствующих скриптов. Или...? - Вы пишете очень общие функции (например, удаление), с параметрами (добавьте дополнительные атрибуты?), или вы пишете очень конкретные функции (DRY?). Я знаю, что в Rails 3 есть стандартный набор, и там все ненавязчиво. Но как начать в Rails 2.3.5?
Вкратце: какие лучшие практики для создания ненавязчивого javascript в рельсах?:)