Ruby on rails 如何防止Spork在Rails 4中预加载路由文件?
Spork正在预加载我的Ruby on rails 如何防止Spork在Rails 4中预加载路由文件?,ruby-on-rails,ruby,testing,devise,spork,Ruby On Rails,Ruby,Testing,Devise,Spork,Spork正在预加载我的用户模型,但没有加载我的任何其他模型。(也就是说,每次对app/models/user.rb进行更改时,我都必须重新启动Spork服务器) 运行spork--diagnose告诉我问题是由designe引起的。当spork预加载config/routes.rb时,它运行一行design\u for:users,该行预加载用户模型 那么我怎样才能防止这种情况发生呢?在Spork文档中,我说我应该使用::trap_方法,方法是将 Spork.trap_method(Rails
用户
模型,但没有加载我的任何其他模型。(也就是说,每次对app/models/user.rb进行更改时,我都必须重新启动Spork服务器)
运行spork--diagnose
告诉我问题是由designe引起的。当spork预加载config/routes.rb
时,它运行一行design\u for:users
,该行预加载用户模型
那么我怎样才能防止这种情况发生呢?在Spork文档中,我说我应该使用::trap_方法
,方法是将
Spork.trap_method(Rails::Application, :reload_routes!)
对于小于3.1的轨道,或
Spork.trap_method(Rails::Application::RoutesReloader, :reload!)
对于Rails 3.1。但这两种我都试过了,都不管用。我正在运行Rails 4.0.0和Spork 1.0.0rc4
如何让用户类在每次运行时重新加载?在spec/spec\u helper.rb中明确地重新加载模型:
Spork.each_run do
# reload all the models
Dir["#{Rails.root}/app/models/**/*.rb"].each do |model|
load model
end
end
你能包括运行spork-diagnose的堆栈跟踪吗?啊,太简单了!谢谢(我刚刚添加了“load Rails.root.join”行“app”、“models”、“user.rb”,因为不需要重新加载每个模型,只是用户工作不正常。)