2012-04-03 15 views
12

मैं अपने रेल 3.2 कार्यात्मक परीक्षण में निम्न त्रुटि हो रही है:रेल 3.2 में "error_messages" का उपयोग करें? (जन्म देती है "अपरिभाषित विधि" त्रुटि)

ActionView::Template::Error: undefined method `error_messages' for # <ActionView::Helpers::FormBuilder:0x007ff8ad00d3b0>

दृश्य कोड कि त्रुटि पैदा कर रही है:

<%= form_for [@camp, @program] do |f| %> 
    <%= f.error_messages %> # problematic code 
    <%= f.label :name %> 
<% end %> 

यहाँ कोड है मेरी नियंत्रक कि उपरोक्त दृश्य कोड बुला रहा है में:

render :action => "edit", :status => :bad_request 

और यहाँ परीक्षण मैं चला रहा हूँ है:

test "update a program with a bad request" do 
    put :update, 
    :id => programs(:traditional).to_param, 
    :program => { 
     :min_age => "a" 
    }, 
    :camp_id => camps(123).uri 

    assert_response :bad_request 
end 

क्या किसी के पास कोई अंतर्दृष्टि है कि रेल त्रुटि 3.2 ऐप में यह त्रुटि क्यों हो रही है?

धन्यवाद!

+2

पढ़ने: http://apidock.com/rails/ActionView/Helpers/FormBuilder/error_messages देखना भी: http://stackoverflow.com/questions/3873190/f-error-messages-in-rails- 3-0 –

+1

धन्यवाद - मैं कुछ दस्तावेज ढूंढ रहा था कि यह तरीका बहिष्कृत किया गया था लेकिन कुछ भी नहीं बदल रहा था। – linusthe3rd

+0

मणि 'dynamic_form' – shilovk

उत्तर

24

सभी त्रुटियों को फिर से शुरू करने के लिए निम्न कोड आज़माएं, यदि कोई हो।

<%= form_for [@camp, @program] do |f| %> 
    <% @program.errors.full_messages.each do |msg| %> 
     <p><%= msg %></p> 
    <% end %> 
<%= f.label :name %> 
<% end %> 
+1

इसे आंशिक प्रतिपादन के माध्यम से किया जाना चाहिए। 'आंशिक प्रस्तुत करें:' त्रुटि ', संग्रह: @ program.errors.full_messages' – FUT

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