我有一个通用的Service
模型,其中包含一些通用功能,包括一些被实际服务覆盖的功能'。
service.rb
class Service < ActiveRecord::Base
def get_line_items
raise "Not Implemented"
end
end
然后我有一个扩展Service
模型的模型:
misc_service.rb
class MiscService < Service
attr_accessible :retail_price
def get_line_items
return [{"Misc Service - 1" => retail_price}]
end
end
但是,当尝试在rails控制台中访问MiscService模型时,我收到错误:
:001 > service = MiscService.first
ActiveRecord::StatementInvalid: Mysql2::Error: Table 'devdb.services' doesn't exist: SHOW FULL FIELDS FROM `services`
我可以看到这种情况正在发生,因为它是扩展ActiveRecord::Base
的服务模型,所以我可以在Service
模型中做些什么来使任何模型将其扩展到而是使用自己的表?我希望从Service
模型中获得这种情况,而不必在扩展它的任何模型中明确定义它。
答案 0 :(得分:0)
这与子类无关。您的服务表本身尚未就绪。确保准备好迁移文件并运行$ rake db migrate