我在 Rails 3.2 功能测试中遇到以下错误:
ActionView::Template::Error: undefined method `error_messages' for # <ActionView::Helpers::FormBuilder:0x007ff8ad00d3b0>
产生错误的 View 代码:
<%= form_for [@camp, @program] do |f| %>
<%= f.error_messages %> # problematic code
<%= f.label :name %>
<% end %>
这是我的 Controller 中调用上述 View 代码的代码:
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 应用程序中会出现此错误?
谢谢!
最佳答案
尝试以下代码迭代所有错误,如果有的话。
<%= form_for [@camp, @program] do |f| %>
<% @program.errors.full_messages.each do |msg| %>
<p><%= msg %></p>
<% end %>
<%= f.label :name %>
<% end %>
关于ruby-on-rails - 在 Rails 3.2 中使用 "error_messages"? (引发 "undefined method"错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10002140/