Включить общедоступную папку javascript в представления RAILS - PullRequest
4 голосов
/ 20 августа 2010

У меня есть библиотека сценариев, которую я хотел бы реализовать на клиентской стороне моего приложения rails;

В View я знаю, что могу сделать следующее.

<%= javascript_include_tag 'folder/script.js' %>
..

И поскольку существует множество отдельных файлов сценариев, этот процесс очень бесполезный и избыточный.

Я знаю, что существует метод включения всех сценариев в папку public / javascript

<%= javascript_include_tag :all %>

Но это будет включать в себя нежелательные сценарии за пределами папки назначения специально для одного просмотра.

Можно ли включить все сценарии только в определенную папку?

Заранее спасибо

Ответы [ 5 ]

6 голосов
/ 07 января 2012

Он встроен прямо в Rails. Использование принятого ответа - плохой стиль. Пожалуйста, используйте следующее:

<%= javascript_include_tag :all, :recursive => true %>

Использование упаковщиков отлично подходит для производства. Но это правильный способ сделать это в простой, легкой среде разработки.

3 голосов
/ 20 августа 2010

Вы можете использовать стандартный javascript_include_tag вместе с методом Dir.glob, чтобы включить все файлы в каталог.Итак, что-то вроде этого должно работать:

<%= javascript_include_tag Dir.chdir(File.join(Rails.root, "public", "javascripts", "your", "subdiretory")) { |d| Dir.glob("*.js") } %>
1 голос
/ 20 августа 2010

http://github.com/sbecker/asset_packager

Это объединяет все ваши javascript-скрипты в один файл в рабочем состоянии и перечисляет их отдельно при разработке.С помощью одной задачи с граблями вы определяете все свои javascript и таблицы стилей, а также порядок их сохранения.Другая задача упаковывает их в два файла.Действительно круто.

0 голосов
/ 01 апреля 2013

следующие работы для меня

def include_folder_javascripts(path)
    output = []
    Dir.chdir(File.join(Rails.root, path)) { |d|
      output << Dir.glob("*.js").map{|js| javascript_include_tag('calendar_date_select/'+js)}.join
    }
    raw output * "\n"
  end
0 голосов
/ 11 июля 2012

Для тех, кто использует Rails 3.1 или новее, конвейер ресурсов - это путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...