Ron*_*_sl 1 ruby rake ruby-on-rails
我尝试从"使用Rails 4的敏捷Web开发"创建网上商店.当我写'rake test'时,我收到这条消息:
$ rake test
Run options: --seed 54737
# Running:
........F...F
Finished in 0.279167s, 46.5671 runs/s, 118.2088 assertions/s.
1) Failure:
ProductTest#test__product_is_not_valid_without_a_unique_title_-_i18n [/Users/roni/Coding/Ruby/depot/test/models/product_test.rb:82]:
--- expected
+++ actual
@@ -1 +1 @@
-["translation missing: en.activerecord.errors.messages.taken"]
+["has already been taken"]
2) Failure:
ProductTest#test_product_price_must_be_positive [/Users/roni/Coding/Ruby/depot/test/models/product_test.rb:25]:
Failed assertion, no message given.
13 runs, 33 assertions, 2 failures, 0 errors, 0 skips
Run Code Online (Sandbox Code Playgroud)
这是product_test.rb
拜托,帮帮我,我做错了什么?
看来,"已经采取"案例的错误消息的位置已在Rails 4中更改,并且该书必定已错过此更新.
错误消息已移至命名空间,其中还包含ActiveModel的其他验证错误消息errors.messages
.因此,'take'错误消息是在key下设置的activerecord.errors.messages.taken
,但在Rails 4中它是在errors.messages.taken
.
如果使用新密钥更新测试中的第82行,则测试应该通过.
归档时间: |
|
查看次数: |
378 次 |
最近记录: |