2012-11-22 38 views
1

我的錯誤信息不會自動顯示,所以我決定用閃光燈作爲一種解決方法。這是我在做什麼的Rails:更改錯誤信息

控制器:

flash[:notice] = @post.errors.full_messages 

查看:

<%= flash[:notice] %> 

然後,我得到這個醜陋的錯誤消息對我的看法。

["Content can't be blank", "Content is too short (minimum is 10 characters)"] 

但至少,用戶成功獲取錯誤消息。現在我需要自定義錯誤信息並使其看起來更漂亮一些。我想我可以將每個錯誤句子解析爲一些局部變量並顯示它們(是否有更復雜的方法?)。但是,我不知道如何自定義錯誤消息。例如,「內容不能爲空」應改爲「您將內容留空」。我可以在哪裏修復?

回答

1

會發生什麼事是,當@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

+0

這應該被接受:) – Tim