2012-03-21 10 views
14

私は、エンジンとしてマウントするレールの宝石を作りました。Railsのマウント可能なエンジンがヘルパーメソッドを正しく読み込めないのはなぜですか?

エンジンのスコープは、それ自身の名前空間です。

エンジンには、MyEngine::ApplicationHelperというモジュールがあり、ビューヘルパーメソッドが追加されています。

私のアプリケーションのレイアウトでは、これらのメソッドのいくつかを参照しています。

開発モードで最初にページを読み込むと、NoMethodErrorというメソッド(gemのApplicationHelperで定義されている)が存在しないという不満があります。

アプリ内でApplicationControllerを編集すると、問題が解決します。

これは、Railsの自動読み込みの最近の変更点になっています。私は、これはかかわらず、正常に動作していない理由を私は私の人生のために働くことができないのRailsに3.2.2

を使用しています:/

+0

私が直面しています同じ問題は、問題になる可能性があります:

class ApplicationController < ActionController::Base helper MyEngine::ApplicationHelper end 

アプリであなたのエンジンからのすべてのヘルパーを含めるには高速デベロッパーモードとルーティング)http://weblog.rubyonrails.org/2012/1/20/rails-3-2-0-faster-dev-mode-routing-explain-queries-tagged-logger-store/。もしあなたが解決策を見つけたら、私が知っていることを知っていれば、あなたは親切にソリューションを見つけます。 – Amar

答えて

30

私はRailsのガイドが答えhereを持っていると思います。

アプリであなたのエンジンから、その特定のヘルパーを含めるには:(

class ApplicationController < ActionController::Base 
    helper MyEngine::Engine.helpers 
end 
+0

メインのアプリヘルパーにエンジンの視点でどのようにアクセスできますか? –

関連する問題