レガシー スキーマを使用して単一テーブルの継承をセットアップしようとしていますが、苦労しています。以下は、継承元のテーブル 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 が「Inquiry Tracking Role」タイプのコードからすべてのレコードを取得する必要があることを理解しています。これは正しいです?コンソールで InquiryTrackingRole.all と入力すると、Code.all と同じ結果が得られます。
class InquiryTrackingRole < Code
end
私がやろうとしていることは可能ですか、それとも私たちのスキーマはあまりにも混乱していますか?