gpt4 book ai didi

ruby-on-rails - Rails 加载路径问题

转载 作者:行者123 更新时间:2023-12-03 15:41:48 26 4
gpt4 key购买 nike

假设我有一些不属于模型、 Controller 等的自定义类,我应该把它放在/lib 中正确吗?

在 rails < 3 我会将此目录添加到我的加载路径中,而在 rails 3+ 我会将此目录添加到我的 autoload_path 中。它是否正确?

现在说我有一些扩展已经定义的类的类。我应该把它放在哪里,以便它在启动时运行。例如,假设我想在 String 上添加方法 'foo'。

类字符串
定义富
'富;
结尾
结尾

我应该把这个类放在哪里,以便在启动时定义它?

我遇到的另一个奇怪的错误是当我尝试在 lib 中命名类时。

模块我的项目
Foo 类
结尾
结尾

现在在控制台中:

ruby-1.9.2-p136 :004 > MyProject::Foo
LoadError:预期/Users/me/workspace/my_project/lib/foo.rb 来定义 Foo
来自/Users/rob/.rvm/gems/ruby-1.9.2-p136/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:492:in `load_missing_constant'
来自/Users/rob/.rvm/gems/ruby-1.9.2-p136/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:183:in `block in const_missing'

我不断收到此错误。我怎样才能加载这个文件?

最佳答案

在 rails 3 中,自动加载路径在 config/application.rb 中被禁用

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

如果要从 lib 目录加载代码,则必须取消注释此行。

关于ruby-on-rails - Rails 加载路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4627994/

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