0

検討:

class Person < ActiveRecord::Base
  class << self
    def setup
      has_one :address, :as => :addressable
    end
  end
end

class Employee < Person
  setup
end

class Address < ActiveRecord::Base
  belongs_to :addressable, :polymorphic => true
end

# Shouldn't this be 'Employee'? Is it possible to override?
Employee.create.address.create.addressable_type == 'Person'

編集:私はそこでしばらく混乱しました。これは実際にはSTIではなくEmployee、独自のテーブルがあるため、単なる継承です。

ありがとう!

4

1 に答える 1

1

ビンゴ

class Person < ActiveRecord::Base
  self.abstract_class = true
end
于 2009-10-14T01:36:11.770 に答える