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