2011-03-29 97 views
1

有得後,驗證錯誤現在打印以下:驗證錯誤打印{{錯誤}},而不是真正的錯誤

ActiveRecord::RecordInvalid: Validation failed: {{errors}} 
    from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/validations.rb:1102:in `save_without_dirty!' 
    from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/dirty.rb:87:in `save_without_transactions!' 
    from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:200:in `save!' 
    from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/database_statements.rb:136:in `transaction' 
    from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:182:in `transaction' 
    from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:200:in `save!' 
    from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:208:in `rollback_active_record_state!' 
    from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/transactions.rb:200:in `save!' 
    from (irb):34 
    from :0 

我m設置這樣的錯誤:

errors.add_to_base("outside edit window") 

這用於工作,我做錯了什麼?這是在軌道2.3.8。

+0

在什麼情況下你在做調用'errors.add_to_base(「外部編輯窗口」) '也就是說。用什麼方法,周圍的代碼是什麼等等? – lebreeze 2011-03-29 08:47:25

+0

我想你是在調用'save!'或'create!'而不是'save'或'create'。如果驗證不滿足,這將調用異常。 – rubyprince 2011-03-29 09:53:41

+0

我有一個模型,它具有'validate:edit_window',我正在執行'edit_window'函數中的檢查和'errors.add_to_base' – BigBen 2011-03-29 20:23:34

回答

1

看到這個鏈接解釋問題; https://github.com/svenfuchs/i18n/issues/71

您應該降級的i18n寶石0.3.3,或升級你的Rails版本> 2.3.8

+0

很高興見到你在格倫。你的第一個答案和你的第一個贊成! – 2011-05-16 17:33:31

+0

真棒,謝謝! – BigBen 2011-07-15 18:07:13