6

通常、プラグインは、他のプロジェクトでもう一度必要になることがわかっているモジュールがあるときに作成しますが、gemとしてパッケージ化することもできます。

プラグインの作成よりも宝石を作成する必要があるのはいつですか?電話をかけるための基準はありますか?

4

3 に答える 3

9

プラグインは、environment.rbの「config.gem」ステートメントを介してgemを管理できるようになったため、廃止されつつあります。Gemsは(1つのアプリだけでなく)システム全体で利用可能であり、プラグインとは異なりバージョン管理されています。

最近、すべてのプラグインをgemに変換しました。やりやすく、それだけの価値があります。

于 2009-01-13T23:22:01.113 に答える
1

gem を介してジェネレーターをレールに追加できます。実際には非常に簡単です。rails_generators ディレクトリを gem に追加するだけです。(他のディレクトリ名でも機能すると思います-レールが何を検索するのかわかりません)。例: http://github.com/remi/rackbox/tree/a21c21667c68d5fd51357e28f0742171e9161e9b/rails_generators

レーキタスクの追加に関しては...私はまだそれを行う方法を理解していません:/

require 'myproject/rails/tasks'のところ、gem からレールに rake タスクを追加する方法として、ジェネレーターでプロジェクトの Rakefile に (または何かを) 追加しています。

多くの gem は、それらを Rails プロジェクトに「ブートストラップ」するように求めます。sudo gem install cucumber cd rails_app ./script/generate cucumber # cucumber をアプリにブートストラップする

于 2009-02-03T20:27:43.567 に答える
1

Rails は gem の方向に向かっているようです。現在、ほとんどのプラグインを gem に変換しています。Gem は管理が容易で、Ruby エコシステムにより適しています。そもそも、なぜ 2 つの別々のシステムが必要なのですか?

ただし、gem にはまだ問題があります。gem から Rails アプリケーションに rake タスクを追加することはできません。よくわかりませんが、おそらくジェネレーターにも同じことが当てはまります。これらをプラグインで使用する場合、gem への移行はまだできません。うまくいけば、これはすぐに修正されます。

于 2009-01-14T07:47:14.633 に答える