class Template < ActiveRecord::Baseclass ThingTemplate < Templateclass StockThingTemplate < ThingTemplate
如果我有一个ID为150的StockThingTemplate,那么我应该能够在逻辑上做到这一点:
ThingTemplate.find(150)=> #returns me the StockThingTemplate
事实上,这有效
当它工作时,它会生成以下SQL查询:
SELECT * FROM templates WHERE (templates.`ID` = 159) AND ( (templates.`type` = 'ThingTemplate') OR (templates.`type` = 'StockThingTemplate' ) )
如果它不起作用,它会生成以下SQL查询:
SELECT * FROM templates WHERE (templates.`ID` = 159) AND ( (templates.`type` = 'ThingTemplate') )
sql正在做它应该做的事情,但问题是,为什么它一次生成一组sql,另一次生成另一组.它的字面意思完全相同.
笔记:
>我在轨道上1.2
>我已经在不同的地方尝试过’stock_thing_template’.它要么没有效果,要么引起其他问题
它可以通过推杆来修复
require_dependency 'stock_thing_template'
在所有引用这些东西的控制器的顶部.
More info on the rails wiki – 转到页面底部
总结以上是内存溢出为你收集整理的ruby-on-rails – 单表继承查找问题全部内容,希望文章能够帮你解决ruby-on-rails – 单表继承查找问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)