gpt4 book ai didi

ruby-on-rails - Rails 在模型问题中包含模块

转载 作者:太空宇宙 更新时间:2023-11-03 17:05:40 25 4
gpt4 key购买 nike

我在 /lib/models/scopes.rb 中有模块

module Models
module Scopes
extend ActiveSupport::Concern
...
end
end

我正在尝试从模型中包含它:

class User < ActiveRecord::Base
include Models::Scopes
end

出现错误:

NameError: uninitialized constant User::Models

如何解决这个麻烦?将这种类型的文件保存在/lib 中可能是错误的?

环境:Rails v3.1 ruby v1.9.3

最佳答案

Rails 不会自动要求 lib 目录中的文件,但您可以在 config/application.rb 中添加自动加载的路径:

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

重新启动服务器以获取新设置。

这将在 第一次 使用模块名称时自动加载文件。在开发模式下,您可能希望在每次 更改后重新加载模块,以便在不重新启动服务器的情况下查看更改。为此,请将其添加为预加载路径:

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

范围应该不是问题,只要你没有 Models 类或模块 within User 或其他任何地方.

关于ruby-on-rails - Rails 在模型问题中包含模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11421243/

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