2011-09-28 7 views
0

하나의 앱에 동일한 기능을 수행하는 여러 개의 보석을 설치하는 것이 괜찮은지 궁금합니다. 이 일을하거나하지 않는 프로토콜은 무엇입니까?레일 - 같은 일을하는 여러 보석을 설치해도 괜찮습니까?

예 : 하나 개의 모델에 여러 개의 보석을 사용하여

  1. - 사용자를 인증하고 다른 모델에서 여러 보석을 사용하여
  2. 이메일 확인을 고안하여 사용 인증 로직 - 블로그 모델에서 검색을위한 태양 흑점을 사용하고 제품 모델에서 메타 검색을 사용

감사

답변

0

중복 상수가 아니라면, 당신은 언덕을해야한다 y, 기술적으로 말하기.

예를 들어 두 개의 서로 다른 보석으로 제공되는 Model.search과 같은 동적 방법을 사용하면 문제가 발생할 수 있습니다. gem을 사용하여 연결할 모델을 지정할 수있는 경우에는이 작업이 수행되지 않을 수 있습니다.

다른 사람들이 지적했듯이 보석에도 상충되는 의존성이있을 수 있습니다. 이 아니라/또는 중복 허용, 그리고 여부

.. 제 개인적인 의견으로는

+0

예, 간단한 검색 함수를 작성하고 Model.search와 같은 메서드를 사용하고 나중에 충돌이있을 경우 Model.search 메서드를 사용하는 검색 젬을 사용합니다. – noob

0

, 그것은 한 보석이되도록 혜택 가치가 충분히 다른만큼, 괜찮습니다. 그들은 단지 같은 기능을 수행하는 경우, 그들 중 하나만 사용하는 것이 유리할 것입니다.

여기 예제는 will_paginatekaminari입니다. 나는 will_paginate을 오랫동안 사용해 (레일즈 3 베타 버전에서도), kaminari에서 webinar of Ryan Bates까지 찾아서 한 응용 프로그램에서 완전히 kaminari으로 전환했습니다. 이것은 가격표를 가지고 있으며, 당신이 그 결정에 머물러있는 경우에만 가치가 있습니다. 둘 다 사용하려면 개발자로서 차이점과 다른 옵션을 모두 알고 있어야합니다. 나는 그것이 가치 있다고 생각하지 않는다.

0

괜찮습니다. 그러나 때로는 보석과 상반되는 의존성이 있습니다. 당신은 그 문제에 빠지지 않도록 할 수 있습니다. 의존성에 대해서는 Gemfile.lock을보십시오. 개인적으로 강한 이유가 없으면 깨끗하게 유지하는 것이 낫습니다.

관련 문제