gpt4 book ai didi

ruby - Rails lib 类未在生产中加载,在开发中工作正常

转载 作者:数据小太阳 更新时间:2023-10-29 08:09:33 25 4
gpt4 key购买 nike

我在 lib 目录中有一个类:lib\db_cache.rb,它定义了类 DbCache。

我的 Rails 模型在开发模式下以及在生产模式下运行 Rails 控制台时都可以访问它。

但是当我运行生产模式 Rails 服务器时,模型类(例如 Foo)提示“未初始化的常量”Foo::DbCache,

org/jruby/RubyModule.java:2677:in `const_missing', 
org/jruby/RubyMethod.java:134:in `call'

我在 application.rb 中有这一行

config.autoload_paths += %W(#{Rails.root}/lib)

我也尝试了链接的 SO 问题中显示的其他变体 - 但没有快乐。

我在 Linux 上使用 jruby 1.7.3 (1.9.3p385) - Java 1.7.0_13-b20。 Rails 的版本是 3.2.12。

我看过这些问题 Rails - why would a model inside RAILS_ROOT/lib not be available in production mode?Best way to load module/class from lib folder in Rails 3?但这似乎对我的情况没有帮助。

在此先感谢您对此的任何想法。

PS 我现在的解决方法是在我的模型类中要求“db_cache”:(

最佳答案

听起来您正在尝试扩展一个类。如果没有看到 db_cache.rb 文件,我无法确定。

如果是这样的话,那就太好了

extend DbCache

在你的模型类定义中

关于ruby - Rails lib 类未在生产中加载,在开发中工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15533006/

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