我正在尝试覆盖现有的活动记录模型,但新的活动记录模型没有来自旧活动记录模型的方法。这是我尝试使用的代码
class ModelA < ActiveRecord::Base
def method_modela_1
logger.info "I am in method_modela_1"
end
def method_modelb_2
logger.info " I am in method_modelb_2"
end
end
接下来,我用ModelB覆盖ModelA
class ModelB < ModelA
def foo
logger.info "foo method from model B"
end
end
所以现在我正在尝试使用以下代码编写试图访问find_or_create_by的代码
some_variable = ModelB.find_or_create_by(:id => 1234)
但它说***** NoMethodError Exception: undefined method 'find_or_create_by' for ModelB:Module**
我错过了什么?记录我正在使用'rails', '4.2'
答案 0 :(得分:1)
关键字是&#34; NoMethodError例外:未定义的方法&#39; find_or_create_by&#39;对于ModelB:模块&#34;。
在某个地方有一个module ModelB
,由于加载顺序和/或常量查找规则,它会影响模型。