2010-07-09 18 views
7

में एक्सेस किया जा सकता है मैंने अपने रिपोर्ट मॉडल में एक समस्या विधि परिभाषित की है। कार्रवाई शो को परिभाषित करते समय मुझे रिपोर्ट के नियंत्रक में Report.problem के मान का उपयोग करने की आवश्यकता है। लेकिन मुझे त्रुटि संदेश 'अपरिभाषित विधि समस्या' मिल रही है। मैं इसे कैसे हल करूं? कोई भी सहायता महान होगी।मॉडल में विधि को परिभाषित करें जिसे नियंत्रक

मेरे पास एक रिपोर्ट मॉडल और समस्या मॉडल है जिसमें सभी समस्याओं की एक सूची है।

रिपोर्ट मॉडल में

def problems1 
Problem.find(:all, :conditions =>) 
end 

रिपोर्ट नियंत्रक में मैं जैसे

def show 
    @report = Report.problems1 
end 
+0

आप क्या विफल हो रहा है में से कुछ कोड जोड़ सकते हैं? जिस विधि को आप कॉल करने की कोशिश कर रहे हैं उसके लिए मॉडल कोड और नियंत्रक कोड जो त्रुटि उत्पन्न करता है। –

उत्तर

26

आप self.method_name आवंटित करने के लिए एक वर्ग पद्धति के रूप में उपयोग करने के लिए

मॉडल तरीकों के लिए नियम का पालन का पालन करें

कक्षा विधि

def self.problem 

end 

नियंत्रक में है

Report.problem 

उदाहरण विधि

def problem 

end 
नियंत्रक में

report = Report.new 
report.problem 
+0

धन्यवाद, मैं इसे ध्यान में रखूंगा – Prateek

0

कुछ चाहिए आप वर्ग विधि

class Report < ActiveRecord :: Base 
def Report.problem 
    puts 1 
end 
end 

Report.problem 
>1 

के रूप में विधि निर्धारित करते हैं लेकिन अगर आप वस्तु के रूप में विधि को परिभाषित

class Report < ActiveRecord :: Base 
def problem 
    puts 1 
end 
end 

इस विधि कॉल

report = Report.new 
report.problem 
>1 
+0

धन्यवाद जो मदद करता है। मैं इसे नियंत्रक में सही तरीके से उपयोग कर सकता हूं? – Prateek

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