現在、機能をエンジンに移行しています。これまでのところうまくいきましたが、何か変更されたときにエンジンの特定の部分が常に自動的にリロードされる理由と、そうでない部分が混同しているのを少し混乱させます。Railsエンジン:サーバを再起動するとヘルパーのみが再読み込みされます
具体的には、ヘルパーメソッドを追加するときに、Railsサーバーを再起動する必要があります。それ以外の場合は、Railsには表示されません。これは正常な動作ですか?ここに私のエンジンの関連部分です:
コンポーネント/ iq_list.rb
# encoding: utf-8
require 'iq_list/engine'
# Load IqList Modules
module IqList
extend ActiveSupport::Autoload
autoload :Helpers
autoload :Models
autoload :Controllers
end
コンポーネント/ iq_list/engine.rb
module IqList
class Engine < ::Rails::Engine
end
end
コンポーネント/ iq_list/helpers.rb
module IqList
module Helpers
extend ActiveSupport::Autoload
autoload :IqListHelper
end
end
コンポーネント/ iq_list/helpers/iq_list_helper.rb
module IqList
module Helpers
module IqListHelper
def some_method
# ...
end
end
end
end
私はまだエンジンには新しく、上記のコードは他の人の仕事から取っているので、私には忍耐強くお待ちください。適切な方向へのヒントは高く評価されます。
http://stackoverflow.com/questions/4713066/how-can-i-force-my-plugin- to-reload-with-each-request – apneadiving
あなたのコードはなぜ 'components'ディレクトリの下にありますか?あなたは何をしているのですか?コンポーネントは、Rails(1.2)の古典的な機能です。 –
あなたはどこに置くでしょうか?言ったように、私は他の誰かからコードを受け取りました、そして、私はそれが 'app/components'の中にものが適切に再読み込みされているからだと思います。あなたはどこに開発しているエンジンを置くのですか? –