2012-04-18 17 views
5

मैं रेल नियंत्रकों में answer_with respond_to का उपयोग करने से स्विच करने की कोशिश कर रहा हूं। सबकुछ सुचारू रूप से चल रहा है, परीक्षण के अलावा नियंत्रक चश्मे में अमान्य बचाता है। यहाँ एक उदाहरण है:रेल प्रतिक्रिया_with और रुपेक नियंत्रक: असफल अद्यतन का परीक्षण

वर्णन MyController कर ...

describe "PUT update" do 
    context "with invalid attributes" do 
     it "should re-render the edit page" do 
     style = stub_model(Style) 
     Style.stub(:find) { style } 
     Style.any_instance.stub(:save).and_return(false) 
     put :update 
     response.should render_template(:edit) 
     end 
    end 
    end 
end 

यह मेरे पुराने respond_to शैली अद्यतन कार्रवाई के साथ बस ठीक काम करता है, लेकिन respond_with के साथ, मैं

Failure/Error: response.should render_template("edit")

तो मिल में, छोटा - मैं इसका परीक्षण कैसे करूं? ... या मुझे बस यह कहना चाहिए कि यह क्या कर रहा है और परीक्षण नहीं कर रहा है? कोई सामान्य सुझाव? पहले से

चीयर्स

पुनश्च: अद्यतन कार्रवाई:

def update 
    @style = Style.find(params[:id]) 
    flash[:notice] = "Style updated" if @style.update_attributes(params[:style]) 
    respond_with(@style) 
    end 

उत्तर

5

मैं इस सटीक बात की जांच कर रहे किया गया है (मैं कैसे इस विषय पाया) - अब तक मैं निम्नलिखित है:

Location.any_instance.stub(:valid?).and_return(false) 
Location.any_instance.stub(:errors).and_return('anything') 

लेकिन मैं beli (जहां स्थान अपने मॉडल respond_with का उपयोग करता है) पूर्व में ऐसा करने के लिए एक अच्छा तरीका होना चाहिए - अगर मुझे लगता है, तो मैं इसे पोस्ट करना सुनिश्चित कर दूंगा!

नोट: मैं उत्तरदाताओं के मणि का भी उपयोग कर रहा हूं, इसलिए यदि आप इसका उपयोग नहीं कर रहे हैं तो इनमें से एक पंक्ति आपके लिए आवश्यक नहीं हो सकती है!

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