2013-10-02 1 views
0

두 개의 모듈이있는 레일 응용 프로그램이 있습니다.여러 응용 프로그램 레일에 동일한 모델을 효율적으로 사용 4

하나는 customer posts이고 다른 하나는 admin panel입니다. 내 customer 모듈을 만들었습니다. 고객 모듈이 완성되면 관리자에게도 동일한 모델을 적용 할 생각입니다.

어떻게하면 고객 및 관리 모듈에 대해 동일한 모델을 효율적으로 사용할 수 있습니까?

아무도 나에게 이것을 제안 할 수 있습니까?

답변

0

이름은 같지만 이름 공간이 다른 모델을 사용할 수 있습니다.

당신은 모델 폴더에 모듈을 만들 수 있습니다 다음

module ModuleName 
    def self.table_name_prefix 
    'module_name_' 
    end 
end 

과이 모듈의 모델과 같은 모델/모듈 이름의 디렉토리에있을 것입니다 : 다음과 같이해야한다

class ModuleName::ModelName < ActiveRecord::Base 
    # attr_accessible :attr1, :attr2 
end 

사용자 마이그레이션 :

class CreateModuleNameModelNames < ActiveRecord::Migration 
    def change 
    create_table :module_name_model_names do |t|  
     t.timestamps 
    end 
    end 
end 

다른 ap에 대해 동일한 모델 이름을 원하면 분명히 해결책이라고 생각합니다. plication 모듈.

시도하십시오 rails g module_name/model_name - 모델 네임 스페이스의 구조를 제안합니다.

here과 같이 STI (단일 테이블 상속)도 찾습니다.

관련 문제