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 methodgreater_than_or_equal_to'`を取得しています

現在、そのメソッドはドキュメントにはありませんが、ここにあります。

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

では、なぜこれが機能しないのですか?それを機能させるにはどうすればよいですか?

4

2 に答える 2

2

thoughtbot/shoulda-matchersこのメソッドは、アプリにあるオリジナルには存在しません。あなたが参照しているバージョンは、オリジナルの宝石のフォークです。

元のgemの代わりにこのgemを使用できます。Gemfileでソースを設定するだけです。

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

ただし、フォークおよび変更されたバージョンは不安定に動作する可能性があり、最新の更新や修正が含まれていないことなどを理解する必要があります。

于 2013-01-17T16:27:53.353 に答える
1

is_greater_than_or_equal_toではなく、(is_プレフィックス付きで)する必要がありますgreater_than_or_equal_to

ドキュメントを参照してください:https ://matchers.shoulda.io/docs/v4.1.2/Shoulda/Matchers/ActiveModel.html#validate_numericality_of-instance_method

于 2019-09-23T15:11:02.020 に答える