覆盖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,并且由于加载顺序和/或常数查找规则,它会隐藏您的模型。

+0

你说得对。我想我需要更好地理解错误信息!谢谢 – Sana