Ruby on rails 两个冲突的shoulda匹配器allow_值表达式都在传递

Ruby on rails 两个冲突的shoulda匹配器allow_值表达式都在传递,ruby-on-rails,rspec,shoulda,Ruby On Rails,Rspec,Shoulda,:速度只是一个数字模型属性 这两项都是通过的: it { is_expected.to allow_value( '1').for(:speed) } it { is_expected.not_to allow_value( '1', 'fff' ).for(:speed) } 有一个小的变化,第二个没有通过: it { is_expected.to allow_value( '1').for(:speed) } it { is_expected.not_to

:速度
只是一个数字模型属性

这两项都是通过的:

    it { is_expected.to allow_value( '1').for(:speed) }
    it { is_expected.not_to allow_value( '1', 'fff' ).for(:speed) }
有一个小的变化,第二个没有通过:

    it { is_expected.to allow_value( '1').for(:speed) }
    it { is_expected.not_to allow_value( '1' ).for(:speed) }
显然,如果
not\u中有一个传递值来允许\u value
表达式,那么整个值列表都会传递

我不太明白它是否按预期工作,我做得不对,或者它是一个bug


根据文档的解释,这似乎是一个bug。

您使用的是哪个版本的shoulda matchers?您可能需要提供更多代码,如完整的规范、类和错误消息。我无法使用shoulda matchers版本3.1.1再现此问题:它按预期工作。您使用的是哪个版本的shoulda matchers?您可能需要提供更多代码,如完整的规范、类和错误消息。我无法使用shoulda matchers版本3.1.1再现此问题:它按预期工作。