Как опубликовать файлы vendor / _____ / public / *? - PullRequest
2 голосов
/ 19 августа 2010

Я установил плагин для моего приложения на Rails.Плагин имеет в своем публичном каталоге файлы, которые я хочу сделать доступными.

Например, vendor / plugins / myplugin / public / javascripts / myplugin.js.Могу ли я сделать это доступным через Rails по адресу /javascripts/myplugin.js?

У меня все работает, копируя файлы из vendor / plugins / ______ / public / * в public / *, но похожеплохая идея.

Ответы [ 2 ]

3 голосов
/ 16 сентября 2010

Я думаю, что это работает, только если вы превращаете свой плагин в двигатель.Двигатели могут получить более глубокий доступ к процессу инициализации рельсов, чтобы они могли добавить дополнительный статический путь к активу.

Вот фрагмент моего файла engine.rb, который делает это:

module MoxieForum
  class Engine < Rails::Engine

    initializer "static assets" do |app|
      app.middleware.use ::ActionDispatch::Static, "#{root}/public"
    end
  end
end

Я недавнонаписал удобную отправную точку для создания движка rails 3, в котором есть этот и многие другие базовые функции:

http://keithschacht.com/creating-a-rails-3-engine-plugin-gem

0 голосов
/ 19 августа 2010

с рельсами 2.1, по крайней мере, копирование раньше было "единственным способом" (я думаю, что, вероятно, все еще есть, хотя вы могли бы использовать модуль apache mod_rewrite, чтобы получить их все ...)

...