これはかなり一般的なリファクタリングで、Martin Fowler はこれを「フィールドの移動」と呼んでいます。与えられた 3 つのモデル:
class Person < ActiveRecord::Base
has_one :contact_details
has_one :address
end
class ContactDetails < ActiveRecord::Base
end
class Address < ActiveRecord::Base
end
Person から ContactDetails への has_one アドレスの移行を含め、どのようにリファクタリングするのですか? その後、モデルは次のようになります。
class Person < ActiveRecord::Base
has_one :contact_details
end
class ContactDetails < ActiveRecord::Base
has_one :address
end
class Address < ActiveRecord::Base
end