gpt4 book ai didi

ruby-on-rails - 模型中包含的模块的未初始化常量

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

我已经阅读了很多关于此的其他 SO 帖子,似乎惯例是将模块放在 lib (lib/my_module.rb) 中并将其命名为 CamelCase (module MyModule),然后将其包含在模型中 (包括我的模块)。我做了所有这些,但仍然得到“未初始化的常量 Model::MyModule”。我想知道 Rails 4 中是否发生了某些变化,或者我是否必须在我的 config/environment.rb 文件中做一些事情。这是我的代码:

应用/模型/comment.rb

class Comment < ActiveRecord::Base
include KarmaExtension # error at this line

belongs_to :user
belongs_to :post
belongs_to :parent, class_name: "Comment"

...
end

lib/karma_extension.rb

module KarmaExtension
def karma_recieved_from?(sender)
sender ? !karmas.where("sender_id = ?", sender.id).empty? : true
end
end

和我的 config/environment.rb 以防万一(没有碰过这个文件)

# Load the Rails application.
require File.expand_path('../application', __FILE__)

# Initialize the Rails application.
RailsHnClone::Application.initialize!

最佳答案

/lib 添加到您的 load_path:

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

并需要你的库:

# in config/initializers/karma_extension.rb
require 'karma_extension'

在这里找到答案:http://blog.chrisblunt.com/rails-3-how-to-autoload-and-autorequire-your-custom-library-code/

关于ruby-on-rails - 模型中包含的模块的未初始化常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19344713/

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