5

私は3.1から3.2.2にはRuby on Railsをアップグレードしていると私は私が作ると私はきちんと私のベンダーのプラグイン(ノートを移動するためにケアがどうあるべきかでなければならないかを知りたいと思います:それはないです宝石とは、この時点で私は/libにディレクトリ/vendorから)宝石ことを確認することを計画しておりませんだけでなく、official documentationに書いた:Rails 3.2.2への更新:プラグインを '/ vendor'ディレクトリから '/ lib'ディレクトリに移動するにはどうすればいいですか?

のRails 3.2は、ベンダー/プラグインを非推奨とRails 4.0が完全に削除されます。これらのプラグインは、gemfileで抽出して追加することで、プラグインを置き換えることができます。それらを宝石にしたくない場合は、lib/my_plugin/*などに移動して、config/initializers/my_plugin.rbに適切なイニシャライザを追加することができます。

私は、「設定/初期化子/ my_plugin.rbで適切な初期化」を主に参照してください。私は、そのファイルに入れなければならない何のコード?

さらに:上記のプロセスを行う上でいくつかのアドバイスや警告がありますか?

答えて

1

イニシャライザには、プラグインが正常に動作するために必要な、適切な要件とその他の起動関連のタスクが含まれている必要があります。アプリの実際のコード例がなければあなたを手助けするのは難しいですが、このリンクから始めてください。リンクで

http://code.coneybeare.net/how-to-convert-simple-rails-23-style-plugins

例(今libディレクトリに)プラグインを必要とし、ActiveRecord::Baseにモジュールを追加します。

+0

私のプラグインはとてもシンプルで、リンクされたブログ記事の指示に従えばうまくいくはずです。さらに、私のプラグインは、ポスト内のプラグインと同じファイルシステム構造を持っています。しかし、 'require'文を使用する必要があるときには、* 6 *の手順に問題があります:' config/initializers/plg_name.rb'ファイルに 'require File.dirname(__ FILE__)+ '/ lib/plg_nameを使用する''それはうまくいかず、私はPhusion Passengerのエラー ''/my_ABSOLUTE_PATH>/config/initializers/lib/plg_name'をロードするようなファイルはありません。 – user502052

+0

私は 'require File.dirname(__ FILE__)+ '/ lib/plg_name/plg_name''と' require File.dirname(__ FILE__)+'/lib/plg_name/plg_name.rb''も使用しようとしましたが、持続する。 – user502052

+0

エラー '/ /config/initializers/lib/plg_name'は、ファイルが存在しないことを示しています。 Railsはlibディレクトリを調べるので、単に 'require 'plg_name/plg_name''を使うことができます。 – James

関連する問題