簡體   English   中英

Rails:更改錯誤消息

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM