gpt4 book ai didi

ruby-on-rails - 如何为 Rails 3.2 中的每个请求重新加载 gem?

转载 作者:行者123 更新时间:2023-12-04 07:32:37 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to reload a gem on every request in Development mode? [closed]

(5 个回答)


7年前关闭。




如何为每个请求强制重新加载 gem?

我开发了一个 gem,并且每次在浏览器中刷新页面时都想重新加载我的 gem 代码。我的 Gemfile:

gem "my_gem", :path => "../my_gem"

为了解决这个问题,我尝试了 stakoverflow 中列出的每个建议。没有任何帮助。还发现了两个 Rails 配置参数:watchable_dirs 和 watchable_files。尝试使用它们,但它们也不适合我。

最佳答案

您应该使用 ActiveSupport::Dependencies 可卸载方法将要重新加载的类标记为可卸载;

class YourClass
unloadable
end

http://apidock.com/rails/ActiveSupport/Dependencies/Loadable/unloadable
http://robots.thoughtbot.com/post/159805560/tips-for-writing-your-own-rails-engine

应该给你一些背景。或者,您可以像这样自己重新加载;
Object.send(:remove_const, 'YOUR_CLASS') if Object.const_defined?('YOUR_CLASS')
GC.start
load 'path/to/your_file.rb'

关于ruby-on-rails - 如何为 Rails 3.2 中的每个请求重新加载 gem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9245794/

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