覆盖Rails中的现有模型4
问题描述:
我想覆盖现有的活动记录模型,但新的活动记录模型没有来自旧的活动记录模型的方法。下面是我想使用覆盖Rails中的现有模型4
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
接下来我重写MODELA与ModelB
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'
答
关键字是“NoMethodError异常:未定义方法'find_or_create_by'for ModelB:模块”。
您在某个地方有module ModelB
,并且由于加载顺序和/或常数查找规则,它会隐藏您的模型。
你说得对。我想我需要更好地理解错误信息!谢谢 – Sana