0

現在、Ruby on Railsアプリケーションを作成していて、Gemsを使用していますが、Gemsは思ったほど柔軟ではないと感じることがあります。それらをより柔軟にするため。するべきか

それらをgithubでフォークし、カスタマイズしますが、それでもすべてを管理するという課題があります。

また

gemのコードを削除してメインアプリケーションにマージしますか?これにより、gemをさらにカスタマイズできるようになります。これは、Gemが別のGemの機能を必要とする状況に当てはまります。

またはこれを行うためのより良い方法はありますか?

ありがとうB

4

2 に答える 2

2

選択肢Aは、いくつかの理由からより良い答えです。

  1. セキュリティアップデート、拡張機能、バグ修正を簡単に統合できます。
  2. 変更はコアにマージされる可能性があります。実際、オプションとしてコア機能と共存するような方法で変更を実装できるかどうかを検討してください。これが起こった場合、あなたは究極の勝利を手にすることができます-維持するものは何もなく、あなたはあなたのフォークを引退させることができます。
  3. 他の人はあなたの変更から利益を得ることができます。
  4. gemコードを分離しておくことで、プロジェクトのフットプリントを小さくし、集中させることができます。
  5. Githubの「履歴書」に追加するものがあります。
于 2012-07-10T14:45:44.423 に答える
0

プロジェクトを開始した以前のスタジオまたは開発者(私の場合)からのそれほど人気のない宝石または「自転車」である場合。
私はこのgemを廃止し、コードをプロジェクトに移動することを好みます。たとえば、c *** la-deployがあります-独自のメソッドを使用してCapistrano2のラッパーになります)))-削除して、最後のCapistrano3で書き換え
ます「CMS」c***la-cmsは、標準のform_forまたはsimple_formを「twitter_form_for」という名前でラップしますか?-何よりもまず、この名前を使用するgemを見つけようとしますが、依存関係のgemで見つけるよりも...
たとえば、スタートアップの場合、多くの依存関係を使用するのは良くありません。単純なWebサイトの場合は、問題ありません。

于 2016-12-28T18:40:40.323 に答える