[英]Rails: Changing Error Messages
我的錯誤消息沒有自動顯示,因此我決定使用Flash作為解決方法。 這就是我在做的
控制器:
flash[:notice] = @post.errors.full_messages
視圖:
<%= flash[:notice] %>
然后,我在視圖上收到了這個丑陋的錯誤消息。
["Content can't be blank", "Content is too short (minimum is 10 characters)"]
但是至少,用戶可以成功獲取錯誤消息。 現在,我需要自定義錯誤消息,並使它看起來更漂亮。 我想我可以將每個錯誤語句解析為一些局部變量並顯示出來(是否有更復雜的方法?)。 但是,我不知道如何自定義錯誤消息。 例如,“內容不能為空”應更改為“您將內容留為空白”。 我在哪里可以解決這個問題?
發生的是,當@post包含一些驗證錯誤時, @post.errors.full_messages
返回驗證期間發生的一系列錯誤。
為了很好地顯示它們,您可能想要做類似的事情
<%- flash[:notice].each do |error| %>
<%= error %>
<% end %>
編輯糟糕,我讀錯了問題。
這些錯誤是模型中的驗證錯誤,您可以在其中進行如下驗證
validates
您可以像這樣傳遞自定義消息
validates :content, :presence => { :message => "You left the content blank" }
更新 :檢查此鏈接以了解您擁有的選項
http://apidock.com/rails/ActiveModel/Validations/ClassMethods/validates
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.