2011-12-31 17 views
8

मैं एक ओपन सोर्स प्रोजेक्ट में योगदान के लिए कोशिश कर रहा हूँ और मैं एक नियंत्रक की जरूरत रूपों में प्रस्तुत करने की आवश्यकता है के एक जोड़े को संभालने के लिए।रेल रत्न पर रूबी के साथ नियंत्रक कैसे शामिल करें?

मैं मणि app/controllers/gemname/my_controller.rb कहा जाता है के अंदर एक निर्देशिका के अंदर इन नियंत्रकों बनाया।

हालांकि, जब मैं नियंत्रक तक पहुंचने का प्रयास करता हूं, ऐसा लगता है कि लोड नहीं किया जा रहा है (मुझे एक नाम त्रुटि मिलती है जैसे कि मैंने nonExistentController की तरह कुछ टाइप किया है)।

मैं अपने नियंत्रक को मणि के साथ कैसे लोड करूं?

धन्यवाद!

+1

क्या आपका 'MyController'' Gemname' मॉड्यूल के अंदर परिभाषित किया गया है? यदि रेल नहीं है तो उसे 'ऐप/नियंत्रक/my_controller.rb' में रखा जाएगा। –

+0

कृपया इस गाइड को पढ़ें http://guides.rubyonrails.org/plugins.html – taro

+0

केएल -7, मैं Gemname मॉड्यूल के अंदर MyController को कैसे परिभाषित करूं? टैरो, जानकारी के लिए धन्यवाद। मैंने किया, जिसमें उस जानकारी को शामिल नहीं किया गया है जिसे मैं ढूंढ रहा हूं। –

उत्तर

10

मान लीजिए कि आपके मणि को MyGem कहा जाता है और आपके पास SuperController नामक नियंत्रक है जिसे आप ऐप में उपयोग करना चाहते हैं।

module MyGem 
    class SuperController < ApplicationController 
    def whatever 
     ... 
    end 
    end 
end 

और अपने मणि निर्देशिका में यह (lib फ़ोल्डर के अंतर्गत नहीं) app/controllers/my_gem/super_controller.rb पर रहना चाहिए: अपने नियंत्रक के रूप में परिभाषित किया जाना चाहिए। source for Devise देखें क्योंकि वे वही काम करते हैं।

[संपादित करें] आप अपने वर्तमान प्रोजेक्ट के बारे में A Guide To Starting Your Own Rails Engine Gem से कुछ सीख सकते हैं।

+0

बहुत बहुत धन्यवाद !! –

+0

बहुत बहुत धन्यवाद! मुझे आपके द्वारा उल्लिखित 'गाइड लिंक' से प्यार है। –

+0

मैं कल सभी के साथ संघर्ष कर रहा था। मुझे लगता है कि आज बहुत आसान होगा। धन्यवाद! – Rimian

0

ब्रैंडन के उत्तर में मार्गदर्शिका बहुत उपयोगी है लेकिन केवल रेल 3.0 पर लागू होती है। 3.1 के बाद से आप एक प्लगइन बना सकते हैं। इस तरह: (> रेल 3,0)

रेल आधिकारिक गाइड (धार)
http://namick.tumblr.com/post/17663752365/how-to-create-a-gemified-plugin-with-rails-3-2-rspec
:
http://edgeguides.rubyonrails.org/engines.html
http://edgeguides.rubyonrails.org/plugins.html

पुरानी enginex:
https://github.com/josevalim/enginexrails plugin new my_engine --mountable

इस सहायक मार्गदर्शिका देखें
(केवल 3.0)