0

我试图在视图中显示验证错误。当我试图挽救这个错误在视图中都提出,而是将记录我的自定义消息additional filter type is required 这里是我的代码Rails模型验证错误消息未显示在视图上

型号

class AdditionalFilter < ActiveRecord::Base 

validates :additional_filter_type, presence:{ message: "additional filter type is required" } 
end 

查看

<% if @form.errors.any? %> 
     <%= @form.errors%> <!-- i know should just display an array --> 
    <%end%> 

我正在使用Rails 4.任何帮助将不胜感激,甚至指导如何进行调试。谢谢

这里是日志

ActiveRecord::RecordInvalid - Validation failed: Additional filters additional filter type additional filter type is required: 
activerecord (4.2.3) lib/active_record/validations.rb:79:in `raise_record_invalid' 
activerecord (4.2.3) lib/active_record/validations.rb:43:in `save!' 

回答

2

您使用save!,这引发了异常,这将完全跳过你的看法错误。您应该使用save,并允许无效记录“落入”您的视图。

+0

谢谢。但我需要保存!根据我的情况。接收错误的方法是什么? – sparks

+0

然后,你需要字面*捕捉错误*。捕捉'save!'引发的异常并让视图呈现。否则,你需要将你的错误报告移动到'rescue_from'处理程序中。 – meagar

+0

谢谢......哪一个更简单最安全?我听说过'rescue_from',但从未使用它 – sparks

相关问题