使用rails 4.2.1
。
我想在每个rake
文件保存上调用config/routes.rb
任务。我该怎么做呢?
注意:rake
任务确实需要rails
环境。即它是task :task_name => :environment do #...
性质的。
答案 0 :(得分:1)
查看filewatcher gem。
您可以根据对指定文件(或目录)所做的更改来定义要采取的操作:
require 'filewatcher'
FileWatcher.new("config/routes.rb").watch() do |filename, event|
if(event == :changed)
your_rake_task
end
if(event == :delete)
# ...
end
if(event == :new)
# ...
end
end
答案 1 :(得分:0)
在rails 4.2.1
# development.rb
require 'rake'
Rails.application.configure do
#...
Rails.application.load_tasks
# code executes on routes change
ActionDispatch::Reloader.to_prepare do
Rails.application.reload_routes!
if JsRoutes.assert_usable_configuration!
Rake::Task['js_routes:generate'].reenable
Rake::Task['js_routes:generate'].invoke
end
end
#...
end