2010-12-06 118 views
0
class CashOrderStatus < ActiveRecord::Base 
    belongs_to:cash_order 
end 

通常分贝需要一个表cash_order_statuses来映射这个模型,但是现在我想轨如何将虚拟视图映射到一个模型

映射这个模型到特定的SQL视图像

select * from order_statues where cash_order_id is not null <=> CashOrderStatus 

确实轨提供一些方法来实现这一

回答

0

有多种方式,以满足您的要求:

  1. 在你CashOrderStatus模型中,可以设置表名覆盖默认的ORM映射:
class CashOrderStatus > ActiveRecord::Base 
    set_table_name "order_statuses" 

    belongs_to:cash_order 
end 
  1. 您可以实现STI(单表继承)功能凡在你的数据库表“order_statuses”一个更多列将在那里:类型其中将保存派生的模型类名称(在这种情况下,CashOrderStatus)。

所以你的模型看起来就像这样:

class CashOrderStatus > OrderStatus 
    set_table_name "order_statuses" 

    belongs_to:cash_order 
end 

而且OrderStaus模型将AR :: Base类派生。尝试一下。

NOTE:对于类继承表示法很抱歉。它应该是<而不是>。在我的计算器帐户中存在格式问题,所以我这样说:-)