我有以下代碼:產生Ruby on Rails:如何自定義驗證錯誤信息?
validates :name, :presence => true
錯誤信息爲「名稱不能爲空」 代替使用實際的屬性名稱(在此情況下「名稱」)欲 顯示消息作爲「註冊名稱不能爲空」。 如何覆蓋驗證上的默認消息?我試圖追加:消息 但它沒有工作...
謝謝!
我有以下代碼:產生Ruby on Rails:如何自定義驗證錯誤信息?
validates :name, :presence => true
錯誤信息爲「名稱不能爲空」 代替使用實際的屬性名稱(在此情況下「名稱」)欲 顯示消息作爲「註冊名稱不能爲空」。 如何覆蓋驗證上的默認消息?我試圖追加:消息 但它沒有工作...
謝謝!
在en.yml文件中定義自定義鍵爲:
activerecord:
attributes:
model_name:
attribute_name1: key1
attribute_name2: key2
......
這密鑰將在錯誤生成時自動使用。
參考:http://edgeguides.rubyonrails.org/i18n.html#translations-for-active-record-models (5.1翻譯的Active Record模式)
它的有點晚了,現在(後約35天),以回答這個問題。所以,對此感到抱歉。但只是想分享一下,我已經使用了幾個月前的寶石來獲取自定義錯誤消息。
該插件允許您省略特定消息的屬性名稱。你所要做的就是用'^'字符開始消息。
我只是檢查它在 https://github.com/nwise/custom_error_message &它沒有自3月份以來更新。所以,我可能在正確的時間使用它。
ps:你在yml文件中定義自定義鍵的答案比較合適。
從來沒有聽說過。哇,學到了新的東西 - 很好的答案! :) –
@ ream88 - 第二。確實非常好的答案,一定會使用這個。我以前曾經使用過幾個月後的寶石來獲取自定義錯誤信息。該寶石託管在https://github.com/nwise/custom_error_message。 – prasvin
對於未來的讀者,如果不清楚,'en.yml'文件位於'config/locales'中。 – GMA