#ruby-on-rails #ruby-on-rails-plugins #assets
#ruby-on-rails #ruby-on-rails-plugins #ресурсы
Вопрос:
Я новичок в Rails. Я выполнял некоторую работу с ресурсами ресурсов (например, javascripts) в каталоге ресурсов плагина поставщика и ненавижу перезапускать webrick каждый раз, когда я изменяю файл, чтобы скопировать его в соответствующее место в папке общедоступных ресурсов.
например, из vendor / PLUGIN / assets в public / plugin_assets / PLUGIN
Я пытаюсь выяснить, какую задачу запускает серверный скрипт для выполнения этого, чтобы я мог добавить задачу быстрого доступа в свою IDE. В какой-то момент мы переходим на Rails 3.1, но сейчас мне нужно что-то быстрое и грязное, что не требует изменения базы кода или введения зависимостей. Кто-нибудь знает, где это делается? Я мог бы в конечном итоге отладить эту чертову штуку, чтобы увидеть, где это происходит, или исправить простой скрипт типа ‘cp -r’. Конечно, должно быть что-то проще…
Ответ №1:
Я, наконец, нашел то, что искал в:
vendor/plugins/engines/lib/engines.rb
включает в себя метод Engines.mirror_files_from из него. Итак, я написал задачу rake:
require "vendor/plugins/engines/lib/engines.rb"
namespace :myspace do
desc 'Mirror plugin assets with public assets folder'
task :mirror_assets do
plugin = "PLUGIN_NAME"
Engines.mirror_files_from("vendor/plugins/#{plugin}/assets",
"public/plugin_assets/#{plugin}")
end
end
Ответ №2:
Просто создайте генератор внутри плагина.