我正在尝试使用旧模式设置单表继承,但遇到了困难。这是表 bms_codes 的架构,继承自:
create_table "bms_codes", :id => false, :force => true do |t|
t.decimal "code_id", :null => false
t.string "code_group", :limit => 35, :null => false
t.string "code_name_short", :limit => 100
...
end
这是code.rb。我已经设置了列别名,所以有一个类型列可以继承。
class Code < ActiveRecord::Base
set_table_name :bms_codes
set_primary_keys :code_id, :code_group #composite keys using the composite_primary_keys gem
alias_attribute :id, :code_id
alias_attribute :type, :code_group
alias_attribute :description, :code_name_short
end
据我了解,inquiry_tracking_role.rb 应该从代码中提取所有具有“查询跟踪角色”类型的记录。这个对吗?如果我在控制台中键入 InquiryTrackingRole.all,我会得到与 Code.all 相同的结果。
class InquiryTrackingRole < Code
end
我正在尝试做的事情是可能的,还是我们的架构过于fubar'ed?