ruby-on-rails - 验证错误消息散列为空

标签 ruby-on-rails validation error-handling rails-models

知道为什么在这种情况下消息哈希为空吗?

我有这些验证:

validates_presence_of :part_number
validates_uniqueness_of :part_number

一个简单的创建:
if @part.save
  puts 'saved'
  redirect_to new_v2_path
else
  puts 'not saved'
  flash[:error] = "There was an error while updating the part."
  redirect_to new_v2_path(@part)
end

在 View 中:
<% if @part.errors.any? %>
  <div id="error_explanation" style="color: red;">
    <h2><%= pluralize(@part.errors.count, 'error') %> :</h2>

    <ul>
      <% @part.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
    </ul>
  </div>
<% end %>

错误对象:
...l, flush_part: nil>, @messages={}>

最佳答案

在失败的验证分支中,您将重定向而不是渲染,而是对:new_2操作生成新请求并实例化一个新的@part对象,但未分配任何值,因此会出现错误。您需要改用render

更改此行:

 redirect_to new_v2_path(@part)

对此:
 render :new # or new_v2 or whatever action name you have.

关于ruby-on-rails - 验证错误消息散列为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28459080/

相关文章:

java - hibernate validator 4+。获取与类关联的所有约束

php - PHP错误处理- “missing argument for errorHandler”

android - Android New文物跟踪非网络错误

ruby-on-rails - Postgresql & Rails 3 - 数组中元素的 Update_attribute 重新排序数组..为什么?

ruby-on-rails - 表中的 fields_for 生成技术上不正确的 HTML

python - 如果可选属性无效,JSON 架构会抛出验证错误

javascript - 是否有更优雅、可扩展的方式向 JQuery 验证自定义方法添加多个条件?

php - 如何捕获 php 中不存在的子对象引发的错误?

ruby-on-rails - 尝试在 rSpec 中测试发送电子邮件,但 ActionMailer::Base.deliveries.empty?是真的

ruby-on-rails - 在应用它们之前,如何确定 'rake db:migrate'将应用哪些更改?