저는 일부 새로운 ActiveRecord 모델을 만드는 과정에서 내 앱의 일부를 Gem으로 추출합니다.주어진 모델에서 ActiveRecord 연관을 생성하기위한 루비 메타 프로그래밍?
Class Wordcount < ActiveRecord::Base
belongs_to :keyword
belongs_to :article
end
Class Keyword < ActiveRecord::Base
has_many :wordcounts
has_many :articles, :through => :wordcounts
end
주옥는 문자열 또는 텍스트 필드가 어떤 액티브 모델에 후크 것, 단지 내 정의 Article
모델이 코드가 나오는 기존의 레일 응용 프로그램에서 : 지금이 순간이 모델은 다음과 같을.
보석 기능이 적용되는 모델에 따라 관련 AR 연관성을 생성하려면 어떻게해야합니까?
has_my_gem_functionality :on => [:field1, :field2, ...]
그리고 나머지는 안전하게 보석 내에서 캡슐화하기 : 내가 끝낼 것을 희망하고있다.
나는 또한 마이 그 레이션도 메타 프로그램해야한다고 가정합니다. 나는 내가하려고하는 것이 상대적으로 간단하다고 생각한다. 그것은 내 안락 지대에서 약간 너무 멀리 떨어져있다.
하면 마이그레이션이 필요할 수 있습니다 무엇에 더 구체적으로 수 (마이그레이션 포함) 이 보석이 작동합니까? – PinnyM
따라서 대부분의 경우 마이그레이션은 'wordcounts' 및'keywords' 테이블에 열을 추가하는 방식으로 수행됩니다. 그들은 또한 현재 접속중인 테이블에 대한 외래 키, 즉': article'을 필요로합니다. 나는 이것에 대해 확실하지 않습니다, 미안합니다 : 당신이'belongs_to' 또는'has_many' 연관을 가질 때, 어떤 테이블 (또는 둘다?)이 외래 키를 필요로합니까? – smallsense