12

Rails3.2の機能テストで次のエラーが発生します。

ActionView :: Template :: Error:#<ActionView :: Helpers :: FormBuilder:0x007ff8ad00d3b0>の未定義のメソッド `error_messages'

エラーを引き起こしているビューコード:

<%= 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

Rails 3.2アプリでこのエラーが発生している理由について誰かが洞察を持っていますか?

ありがとう!

4

1 に答える 1

24

次のコードを試して、すべてのエラーを繰り返します(存在する場合)。

<%= form_for [@camp, @program] do |f| %>
   <% @program.errors.full_messages.each do |msg| %>
      <p><%= msg %></p>
   <% end %>
<%= f.label :name %>
<% end %>
于 2012-04-04T00:40:19.647 に答える