2

这是我试图通过的规范:

context "when validating format of attributes" do
    it { should validate_numericality_of(:price).greater_than_or_equal_to(0.01) }
end

我已经安装了rspecshoulda-matchers但我得到了更大的undefined method_than_or_equal_to'`

现在该方法不在文档中,但它确实存在于此处:

https://github.com/moffff/should-matchers/commit/7da06487d25c27d59d11fb7f2962e7ff345e45c4

那么为什么这不起作用呢?我应该怎么做才能让它工作?

4

2 回答 2

2

thoughtbot/shoulda-matchers该方法在您的应用程序中的原始文件中不存在。您所指的版本是原始 gem 的一个分支。

您可以使用这个 gem 代替原来的 gem,只需在 Gemfile 中设置它的源代码

gem 'shoulda-matchers', :git => 'https://github.com/moffff/shoulda-matchers.git'

但是您应该了解,分叉和修改的版本可能会不稳定,不包括最新的更新和修复,等等。

于 2013-01-17T16:27:53.353 回答
1

It must be is_greater_than_or_equal_to (with a is_ prefix), not greater_than_or_equal_to.

See the docs: https://matchers.shoulda.io/docs/v4.1.2/Shoulda/Matchers/ActiveModel.html#validate_numericality_of-instance_method

于 2019-09-23T15:11:02.020 回答