バージョンがgit
に依存しているので、最近私はresources_controller
の宝石バージョンからplugin
に切り替えました。次のようにvendor/plugins/plugin/lib/plugin.rb
ファイル内Railtie Inititalizerがプラグインで実行されていません
、Railtie
は次のとおりです。
module Ardes
module ResourcesController
class Railtie < Rails::Railtie
initializer 'ardes.resources_controller' do
ActiveSupport.on_load(:action_controller) do
extend Ardes::ResourcesController
include Ardes::ResourcesController::RequestPathIntrospection
end
ActiveSupport.on_load(:active_record) do
include Ardes::ActiveRecord::Saved
end
end
end
end
end
私は私の初期化子の一つでrequire 'resources_controller'
を追加しましたし、それが適切にこのファイルをロードしています。問題は、Railtie
が評価されますが(クラスブロックのputs
がヒットします)、実際にイニシャライザブロック自体を呼び出すことは決してないようです。もちろんこれは、メソッドを含むようにActionController
を拡張しているので、重要です。
この質問は、hereとhereとなっているようです。両方のケースで、彼らは問題の周りに他の方法を見つけたが、なぜブロックが呼び出されていないのかについて直接的な答えはなかった。
私がRailsのドキュメントで知ることは、イニシャライザの名前を任意の名前にして実行する必要があることです。私はそれが重要だとは思わないが、私は最初に問題が生産モードで動作していることに気づいたrails s -e production
私は同じ問題が開発モードに存在すると信じている。
何が起こっている可能性がありますか?参考のため
、フルプラグインはここにある:あなたがここに持っているhttps://github.com/ianwhite/resources_controller
答えをありがとう。私は最後にこれをやり終えたが、戻って返信を忘れてしまった。解説のおかげで、初期化プロセスの詳細を知ることができました。 –