में सहायक विधि देखें मेरे मॉडल में एक क्लास विधि है, और मुझे अपने दृश्य सहायकों में से एक विधि तक पहुंचने की आवश्यकता है। वर्तमान में मैं include TalkHelper
समेत हूं, लेकिन मुझे अभी भी NoMethodError मिलता है।रेल 3 मॉडल
उत्तर
आप अपने lib फ़ोल्डर में सहायक हो सकते हैं और उन्हें कहीं भी शामिल कर सकते हैं। इस तरह: lib/some_helper.rb
module SomeHelper
def somedef
#your code there
end
end
आप extend
के लिए यह आवश्यकता होगी आप एक वर्ग विधि में सहायक की जरूरत है, नहीं include
यह।
module TalkHelper
def woo; 'hoo' end
end
class MyClass
extend TalkHelper
def self.boo; woo end
end
MyClass.boo #=> 'hoo'
बस, दृश्य संदर्भ के बाहर सहायकों के साथ सावधान रहना रूप में सहायकों controller
पर एक अनुरोध है, जो अपने मॉडल में उपलब्ध नहीं होगा के संदर्भ से कुछ और ही निर्भर करती है, या हो सकता है।
ApplicationController.helpers.your_helper_method
या
YourController.helpers.your_helper_method
सबसे अच्छा समाधान अपने कोड refactor करने के लिए इतना है कि आप की आवश्यकता नहीं है:
अपने मॉडल में, आपको निम्न की तरह कुछ कर सकते हैं मॉडलों से बिल्कुल देखने के लिए हेल्पर कोड कॉल करने के लिए। यह आरओआर रास्ता नहीं है। जैसा कि अन्य बताते हैं, आप सहायक फ़ोल्डर को lib फ़ोल्डर में निकाल सकते हैं।
अधिक जानकारी के लिए देखें:
मैं आपकी सलाह का पालन करता हूं और अपना कोड अपवर्तित करता हूं ताकि मुझे मॉडल में सहायक विधि का उपयोग न करना पड़े। – LanguagesNamedAfterCofee
- 1. रेल 3. संबंधित मॉडल
- 2. रेल 3: मॉडल
- 3. रेल 3 सत्यापित विशिष्टता मॉडल
- 4. तक पहुँचना मॉडल एक रेल 3 परियोजना
- 5. एक रेल 3 एप्लिकेशन में दो मॉडल
- 6. रेल में स्वयं संदर्भ मॉडल 3
- 7. रेल 3 रिलेशनल मॉडल की मचान
- 8. रेल 3 मॉडल के लिए चिंता मॉड्यूल
- 9. Formtastic नेस्टेड मॉडल प्रपत्र फ़ील्ड्स (रेल 3)
- 10. रेल 3 + JQuery-फ़ाइल-अपलोड + नेस्टेड मॉडल
- 11. रेल मॉडल मॉडल नाम
- 12. बेंचमार्किंग रेल मॉडल मॉडल
- 13. रेल 3: रेल
- 14. रेल 3 -
- 15. रेल 3
- 16. रेल मॉडल
- 17. रेल मॉडल
- 18. रेल: मॉडल
- 19. रेल: मॉडल
- 20. रेल - मॉडल
- 21. रेल, मॉडल
- 22. रेल 3 ActiveRecord स्कोप
- 23. रेल 3 स्टार्टअप
- 24. रेल 3 अपडेटिंग_एट
- 25. रेल 3: form_tag सत्यापन
- 26. रेल 3 और validate_on_create
- 27. रेल 3 find_or_create_by
- 28. रेल में मॉडल के बिना नियंत्रक के लिए रूट 3
- 29. कंसोल में रेल 3 मॉडल विधि को कैसे कॉल करें
- 30. रेल 3 ActiveModel: शामिल नहीं कर सकते ActiveModel :: मॉडल सीधे
'module' (लोअरकेस) होना चाहिए? –
सुनिश्चित करें। तय! (15 प्रतीकों) – railscard