Rails中的錯誤消息如下所示:Ruby on Rails:控制ActiveRecord中錯誤消息的佈局
「電子郵件您的電子郵件無效。」
爲什麼字符串本身的前綴名稱是字段?它使錯誤信息看起來非常奇怪。
有沒有辦法繞過這種行爲,以便我可以看到「您的電子郵件無效」。
Rails中的錯誤消息如下所示:Ruby on Rails:控制ActiveRecord中錯誤消息的佈局
「電子郵件您的電子郵件無效。」
爲什麼字符串本身的前綴名稱是字段?它使錯誤信息看起來非常奇怪。
有沒有辦法繞過這種行爲,以便我可以看到「您的電子郵件無效」。
爲generate_full_message該文檔可能會使用:
任何語言環境的默認FULL_MESSAGE格式爲「{{attribute}} {{message}}
」。可以通過將其存儲爲關鍵字翻譯來指定特定於語言環境的默認full_message格式:「activerecord.errors.full_messages.format
」。
此外,可以通過存儲「activerecord.errors.full_messages.[message_key]
」的翻譯來指定驗證特定的錯誤消息格式。例如。任何使用以下內容的驗證的full_message格式都可以存儲爲:「activerecord.errors.full_messages.blank
」,作爲消息密鑰(如validates_presence_of)。
因爲由驗證所使用的消息密鑰可在validates_ *類宏觀層面上覆蓋一個可以自定義格式FULL_MESSAGE針對任何特定的驗證:
# app/models/article.rb
class Article < ActiveRecord::Base
validates_presence_of :title, :message => :"title.blank"
end
# config/locales/en.yml
en:
activerecord:
errors:
full_messages:
title:
blank: This title is screwed!
在你的情況,因爲你正在使用的默認{{attribute}} {{message}}
格式,您收到屬性的「電子郵件」和郵件的「您的電子郵件無效」。您可以將:message
參數更改爲「不是有效格式」,並且您應該收到「電子郵件不是有效格式」。這是快速修復。如果你想完全自定義它,你可以使用上面的locale方法。