복붙노트

[RUBY-ON-RAILS] 어떻게 루비 온 레일즈 액티브 레코드 상속을 구현하는 방법?

RUBY-ON-RAILS

어떻게 루비 온 레일즈 액티브 레코드 상속을 구현하는 방법?

어떻게 활성 레코드 상속을 구현하는 방법?

예를 들어, 내가 클래스 동물, 클래스 개, 및 클래스 고양이를 원한다.

모델과 데이터베이스 테이블 매핑은 어떻게 될 것인가?

해결법

  1. ==============================

    1.레일 지원하는 단일 테이블 상속.

    레일 지원하는 단일 테이블 상속.

    아칸소 문서에서 :

    꽤 좋은 자습서는 여기에 있습니다 : http://juixe.com/techknow/index.php/2006/06/03/rails-single-table-inheritance/

  2. ==============================

    2.모델 :

    모델 :

    class Animal < ActiveRecord::Base; end
    class Dog < Animal; end
    class Cat < Animal; end
    

    이주:

    class CreateAnimals < ActiveRecord::Migration
      def self.up
        create_table :animals do |t|
          # Other attributes...
          t.string :type
        end
      end
    
      def self.down
        drop_table :animals
      end
    end
    
  3. ==============================

    3.하나의 테이블에 상속 계층 구조를 매핑 액티브 지원은 (단일 테이블 상속. 표는 다른 클래스 고유의 열을 선택하는 데 사용됩니다 실제 클래스의 상점 이름과 열 유형을 가질 것이다.

    하나의 테이블에 상속 계층 구조를 매핑 액티브 지원은 (단일 테이블 상속. 표는 다른 클래스 고유의 열을 선택하는 데 사용됩니다 실제 클래스의 상점 이름과 열 유형을 가질 것이다.

    다음과 같이, 멀티 테이블 상속 매핑을 구현하는 것이 가능하지만,이 특별한 방법은, AFAIK 이식 할 수 없습니다.

  4. from https://stackoverflow.com/questions/1598936/how-to-implement-active-record-inheritance-in-ruby-on-rails by cc-by-sa and MIT license