6

Rails 3 は Metal を削除しますか?

Mongoid、Carrierwave、および grid_fs を実装しようとしています。

ガイド 1に従いました。

ただし、Rails 3 が Metal を削除していることを読みました ( http://github.com/rails/rails/commit/ed34652d1aca148fea61c5309c1bd5ff3a55abfa )。

そこで、代わりにこの記事に出くわしました:ガイド2

Rails 3 が Metal を削除する可能性がある状況と、将来のメンテナンスのために。grid_fs、Mongoid、および Carrierwave をすべて連携させるには、どのガイドが適していますか?

4

1 に答える 1

16

「Rails3から金属を削除する」というコメントのあるコミットに気づきました。しかし、実際に起こっていることは、そのフレーズの正反対です!

Rails3は金属を除去しませんでした。まったく逆です。現在、すべてのコントローラーは金属製であり、要求する追加機能のみが含まれています。あなたがする必要があるのは、あなたの特定のコントローラークラスをから継承しActionController::Metal、次にincludeその特定のコントローラーに必要な追加機能を提供する特定のモジュールを継承することです。

もちろん、ほとんどの人はからコントローラーを継承しActionController::Baseます。しかし今では、追加の機能モジュールをすべてActionController::Base継承して含めるだけです。ActionController::Metal

あなたが気づいたそのコミットメントは、残りの部分とは別に、ActionPackの機能として金属を取り除くことです。現在、金属は別個の機能ではなくなったため、金属の別個の機能の実装は削除されました。今、すべてが金属です。

于 2010-12-03T03:03:14.803 に答える