2014-01-29 2 views
3

몇 가지 코드베이스가 공통적 인 몇 개의 레일스 프로젝트가 있습니다. 공통 코드는 일부 ActiveRecord 모델과 그 위에있는 API로 구성됩니다. 현재 모든 프로젝트에서 공통적 인 코드를 복제하고 있는데 이는 매우 나쁜 습관입니다. 이제 공통 코드를 Ruby Gem으로 옮기고 싶습니다. Ruby on Rails를 처음 사용했습니다. several 보석 tutorials을 보았지만 재사용 할 수있는 ActiveRecord 모델로 보석을 만드는 데 도움이되는 유용한 자료가 없습니다.Ruby Gem을 통해 activerecord 모델을 공유하는 방법

  • 보석은 몇 가지 일반적인 액티브 레코드 모델을 포함 -

    기본적으로 내가 원하는이 있다는 것입니다.

  • 이 보석은
  • 보석이 모델에 따라 API를 제공하는 코드를 포함 여러 레일 프로젝트에 의해 사용되며 그들은 데이터베이스를 초기화 것 등

나 모범 사례 등을 위해 무엇인지 알려주세요 케이스.

답변

2

전자 상거래 프로젝트에서 동일한 문제가 발생했음을 기억하고 나중에 저장소로 분리했습니다. 단순히 전체 반복 코드를 레일 엔진으로 옮김으로써.

당신이 따를 수있는 가능한 가이드의 몇 가지가있다 : 당신은에 발전기를 만들 수 있습니다

  1. http://edgeguides.rubyonrails.org/engines.html

  2. http://coding.smashingmagazine.com/2011/06/23/a-guide-to-starting-your-own-rails-engine-gem/

  3. http://railscasts.com/episodes/277-mountable-engines

가 모델의 이주 파일을 설치하십시오. 따라서 레일 엔진을 레일 어플리케이션에 마운트하고 발전기를 가동 할 때마다. 당신은 다음과 같은 몇 가지 명령만으로 작동 할 것입니다 :

글쎄, 내 경험은 공유 된 것입니다. 나는 그것을하는 다른 더 좋은 방법이 있는지 나는 모른다.

P .: 여기에 엔진 저장소에 대한 링크가 있습니다. https://github.com/suryart/spree_active_sale, 참조 용으로 도움이 될만한 코드가 있습니다.

관련 문제