覆盖 Rails 中的现有模型 4
Overriding existing model in 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
接下来我用模型 B 覆盖模型 A
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 Exception: undefined method 'find_or_create_by' for ModelB:Module".
您在某处有一个 module ModelB
,并且由于加载顺序 and/or 常量查找规则,它会影响您的模型。
我正在尝试覆盖现有的活动记录模型,但新的活动记录模型没有来自旧活动记录模型的方法。这是我尝试使用的代码
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
接下来我用模型 B 覆盖模型 A
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 Exception: undefined method 'find_or_create_by' for ModelB:Module".
您在某处有一个 module ModelB
,并且由于加载顺序 and/or 常量查找规则,它会影响您的模型。