2010-08-15 15 views
15

क्या कोई जानता है कि मॉडल में रेल में डीबग कैसे करें? मेरे पास एक तरीका है जो अब काम कर रहा है और मैं टाइपिंग logger.debug val_name के बीच परिवर्तक के मूल्य की जांच करने की कोशिश कर रहा था जो नियंत्रकों में काम कर रहा है लेकिन मॉडल में नहीं, क्या किसी को पता है क्यों? मॉडल को सक्रिय रिकॉर्ड से विरासत में नहीं मिला है यदि यह समस्या हो सकती है। क्या इसे डीबग करने का कोई तरीका है?मॉडल में डीबग कैसे करें?

उत्तर

7

आप अपने मॉडल विधि कॉल के अंदर बस "रख" सकते हैं और यह आउटपुट होगा। आप इसे रेल लॉग, या कंसोल के आउटपुट में देख सकते हैं।

+0

यह बहुत उपयोगी और आसान था, मुझे आश्चर्य है कि मैंने कोशिश क्यों नहीं की :) – Dennis

+0

आप अपने मॉडल के लिए यूनिट परीक्षण भी कर सकते हैं। –

3

के बाद से अपने मॉडल एक ActiveRecord नहीं है, यह लकड़हारा विधि

मिश्रित-इन आप इसे इस प्रकार जोड़ सकते हैं (शायद अन्य बेहतर यह के रूप में अच्छी तरह से करने के लिए तरीके)

class YourModelThatIsNotActiveRecord 
    def logger 
     RAILS_DEFAULT_LOGGER 
    end 
end 

नहीं है एक महान जानकारी का गुच्छा यहाँ भी - http://guides.rubyonrails.org/debugging_rails_applications.html

0

आप विकास में script/server का उपयोग कर संकर जाति अप कताई रहे हैं, तो यह काम हो सकता है:

  1. रूबी-डीबग मणि installe, अगर आपके पास पहले से नहीं है: gem install ruby-debug;
  2. require 'ruby-debug'config/environments/development.rb जोड़ें;
  3. उस स्रोत में debugger लाइन डालें जहां आप एक डिबगिंग सत्र शुरू करना चाहते हैं। अधिक जानकारी के लिए इस आधिकारिक गाइड पर

देखो: http://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-ruby-debug

22

एक और तरीका है अपने आवेदन में कहीं से भी प्रवेश करने के लिए:

Rails.logger.debug "Show this message!" 

यह हमेशा log/development.log फाइल करने के लिए उत्पादन।

संबंधित मुद्दे