2012-03-21 17 views
14

मैंने एक रेल रत्न बनाया है जो एक इंजन के रूप में माउंट करता है।मेरा रेल माउंटेबल इंजन क्यों सहायक तरीके से सहायक तरीके लोड नहीं कर रहा है?

इंजन को अपने नामस्थान पर रखा गया है।

इंजन में, MyEngine::ApplicationHelper मॉड्यूल है जो दृश्य सहायक विधियों का एक समूह जोड़ता है।

मेरे आवेदन लेआउट में, मैं इनमें से कुछ विधियों का संदर्भ देता हूं।

जब मैं पहली बार विकास मोड में किसी भी पृष्ठ को लोड करता हूं तो मुझे NoMethodError मिलता है, यह शिकायत करता है कि विधि (मणि के ApplicationHelper में परिभाषित) मौजूद नहीं है।

एक बार जब मैं अपने ऐप के भीतर ApplicationController संपादित करता हूं, तो समस्या स्वयं को ठीक करती है।

कुछ मुझे बताता है कि यह रेल के ऑटो लोडिंग में हुए हालिया परिवर्तनों के लिए नीचे है; मैं रेल 3.2.2

उपयोग कर रहा हूँ मैं के लिए मुझे के जीवन से बाहर काम नहीं कर सकता है क्यों यह ठीक से हालांकि काम नहीं कर रहा:/

+0

मैं का सामना करना पड़ रहा एक ही मुद्दा मुद्दा है क्योंकि हो सकता है (तेज़ देव मोड और रूटिंग) http://weblog.rubyonrails.org/2012/1/20/rails-3-2-0-faster-dev-mode-routing-explain-queries-tagged-logger-store/। अगर आपको समाधान मिल जाए तो कृपया इसे पोस्ट करें यदि मुझे समाधान मिला तो मैं आपको बता दूं। – Amar

उत्तर

30

मुझे लगता है कि रेल गाइड जवाब here है।

अपने एप्लिकेशन में इंजन से है कि विशेष सहायक शामिल करने के लिए:

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

अपने एप्लिकेशन में इंजन से सभी सहायकों शामिल करने के लिए:

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

हम मुख्य ऐप हेल्पर्स को इंजन के दृश्य में कैसे एक्सेस कर सकते हैं? –