gpt4 book ai didi

ruby-on-rails - 如何防止 Spork 在 Rails 4 中预加载我的路由文件?

转载 作者:行者123 更新时间:2023-11-28 21:31:18 25 4
gpt4 key购买 nike

Spork 正在预加载我的 User 模型,但不是我的任何其他模型。 (即,每次更改 app/models/user.rb 时,我都必须重新启动 Spork 服务器。)

运行 spork --diagnose 告诉我问题是由 Devise 引起的。当 spork 预加载 config/routes.rb 时,它运行行 devise_for :users 预加载用户模型。

那么我该如何防止这种情况发生呢? This page在 Spork 文档中说我应该使用 ::trap_method,方法是将以下行放入我的 spec_helper 文件中

Spork.trap_method(Rails::Application, :reload_routes!)

对于 Rails < 3.1,或者

Spork.trap_method(Rails::Application::RoutesReloader, :reload!)

对于 Rails 3.1。但是我已经尝试了这两种方法,但都不起作用。我正在运行 Rails 4.0.0 和 Spork 1.0.0rc4。

如何让 User 类在每次运行时重新加载?

最佳答案

在 spec/spec_helper.rb 中显式重新加载模型:

Spork.each_run do
# reload all the models
Dir["#{Rails.root}/app/models/**/*.rb"].each do |model|
load model
end
end

关于ruby-on-rails - 如何防止 Spork 在 Rails 4 中预加载我的路由文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21324731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com