0

특수한 경우에 사용할 수 없기 때문에 레일 이름 지정 규칙을 따르지 않는 프로젝트가 있습니다.rails n : m db 테이블 이름이 다른 경우 레일 연관을 유지하는 방법

시나리오 : Foo라는 모델이 있고이 모델의 데이터베이스 테이블이 example_foos입니다. Bar라는 모델이 있고 example_bars라는이 모델의 데이터베이스 테이블이 있습니다.

모델 FooBar로이 두 모델 간의 n : m 연관을 만들고 싶습니다. 이 모델의 데이터베이스 테이블 이름은 ExampleFooExampleBars입니다.

이제 내 질문 ... 어떻게 모델에서 has_many throught 연관을 지정할 수 있습니까? 내가 정상처럼 그것을 할 경우 모델 및 테이블 이름이 다르기 때문에 , 나는 오류를 얻을 ..

+0

현재를 보여주십시오 오류를 가져 오는 코드. –

답변

1

연관성은 그래서, 클래스 이름 참조됩니다

class Foo < ActiveRecord::Base 
    set_table_name 'example_foos' 
    has_many :bars 
end 

class Bar < ActiveRecord::Base 
    set_table_name 'example_bars' 
    belongs_to :foo 
end 
0

모델 및 테이블 이름이 다른 경우 할 수있는 레일 컨벤션 방법에 따라 협회의

class Foo <ActiveRecord::Base 
    set_table_name "example_foos" 
end 

나머지