我有一个gem,它声明了类FulltextRow
我创建了一个名为hacks.rb的初始化程序,我打开了来自不同宝石的类。
我添加了以下代码:
FulltextRow.class_eval do
....
end
但是,如果我不需要课程,我会得到例外:
uninitialized constant FulltextRow (NameError)
但如果我这样做的话,那就好了。
require 'fulltext_row'
FulltextRow.class_eval do
....
end
我的问题是:
为什么我需要一个gem中定义的类?它们不是自动要求的吗?
答案 0 :(得分:0)
我很乐意帮助你,但由于缺乏信息,很难解决这个问题。不过,我确实有两点建议。
1)您应该验证gem是否在gem中正确加载。我的意思是进行支持测试,确认宝石按预期工作。我有一些实例,我的宝石的类没有加载,因为我没有正确设置文件结构或在某处有一个愚蠢的错字。
2)你的gemfile也可能设置为不自动加载gem。
gem full_text_row, require: false
祝你好运!