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

相關問題