Railsプラグインをgemに変換していて、プラグインの起動時にプラグインを実行するために使用されていたinit.rbで初期化されています。しかし、このプラグインを宝石に変換すると、このコードはもう実行されません!宝石の起動時にコードを実行するにはどうすればよいですか?Ruby gem:起動時に初期化を実行する方法は?
そして、初期化はRailsの固有である、それが必要と:: Rails.root
をRailsプラグインをgemに変換していて、プラグインの起動時にプラグインを実行するために使用されていたinit.rbで初期化されています。しかし、このプラグインを宝石に変換すると、このコードはもう実行されません!宝石の起動時にコードを実行するにはどうすればよいですか?Ruby gem:起動時に初期化を実行する方法は?
そして、初期化はRailsの固有である、それが必要と:: Rails.root
をレールティーズの初期化を使用して私に問題を解決しました。 Rails.rootを構成するためにinit.rbが適切な時間に実行されませんでした。
私のビルドは現在
DEPRECATION警告のような非推奨の警告を示しています。あなたは ベンダー/プラグインでのRails 2.3スタイルのプラグインを持っています!これらのプラグインのサポートは、Rails 4.0で削除されます。それらを移動してGemfileにバンドルするか、lib/myplugin/*とconfig/initializers/myplugin.rbとしてアプリケーションにフォールドします。詳しくは、リリースノートの を参照してください。 http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released は、私はちょうどそれが実行されている場合、おそらくそれはまた、罰金だと気づいたとき宝石:)
編集;
私はそれがあなたの答えを持っていると思う:(8 /設定/ environment.rbに$ PROJECT_HOMEから呼び出された) が読み込まれます。その場合、gemがロードされると(bundler/rubygems経由で)lib/same-name-as-gem.rb
が自動的に必要になります。
私はこの質問にはもう少し明確化が必要だと思います。宝石のスタートアップはどういう意味ですか?宝石が必要な場合、アクションxは常に実行されるべきですか? – sunnyrjuneja