/ / Rake-Aufgabe auf dem routes.rb-Update aufrufen? - Rubin-auf-Schienen, Rubin, Rubin-auf-Schienen-4

Rufen Sie Rake-Aufgabe auf routes.rb Update auf? - Rubin-auf-Schienen, Rubin, Rubin-auf-Schienen-4

Verwenden rails 4.2.1.

Ich möchte anrufen rake Aufgabe auf jedem config/routes.rb Datei speichern. Wie würde ich das machen?

Beachten Sie das rake Aufgabe erfordert die rails Umgebung. d. h. es ist von der task :task_name => :environment do #... Natur.

Antworten:

1 für die Antwort № 1

Schau rein Dateiwächter Juwel.

Abhängig davon, welche Änderungen an der angegebenen Datei (oder dem Verzeichnis) vorgenommen werden, können Sie Aktionen definieren:

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

0 für die Antwort № 2

Im 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

Basiert auf https://stackoverflow.com/a/27046271/749477