Не знаю как вам, а мне давно не доставало возможности подключать свои 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
Удачи!