Не знаю как вам, а мне давно не доставало возможности подключать свои js-файлы пачками.
Напомню, что в Rails есть стандартный хелпер javascript_include_tag(:all, :recursive => true), который включает все файлы из public/javascripts. Но мне захотелось управлять этим процессом. И вот что у меня получилось:
По умолчанию происходит рекурсивное подключение всех *.js файлов по указанным шаблонам, но это можно отключить:
Исходный код хелпера под катом
Удачи!
Напомню, что в Rails есть стандартный хелпер javascript_include_tag(:all, :recursive => true), который включает все файлы из public/javascripts. Но мне захотелось управлять этим процессом. И вот что у меня получилось:
<%= javascript_include_tag collect_js("jquery-1.4.2", "jquery.*", "lib/*, "application") %>
По умолчанию происходит рекурсивное подключение всех *.js файлов по указанным шаблонам, но это можно отключить:
<%= javascript_include_tag collect_js("jquery-1.4.2", "jquery.*", "application", :without_recursion => true) %>
Исходный код хелпера под катом
def collect_js(*patterns) options = patterns.extract_options!.stringify_keys recursion = !options["without_recursion"] # with recursion by default patterns.collect do |pattern| scripts = collect_asset_files(File.join(RAILS_ROOT, 'public', 'javascripts'), pattern + '.js') scripts = scripts + collect_asset_files(File.join(RAILS_ROOT, 'public', 'javascripts'), pattern, '**', '*.js') if recursion scripts end end
Удачи!
