私はこのモデルコードを持っています:
validates_presence_of :setting_id
validates_presence_of :user_id
validates_presence_of :topic_id, if: :direct?
これらのrspecテストがあります:
it { should validate_presence_of :setting_id }
it { should validate_presence_of :user_id }
it { should validate_presence_of(:topic_id).if(:direct?) }
最初の 2 つのテストは問題なく動作します。最後のエラーは次のようになります。
undefined method 'if' for #<Shoulda::Matchers::ActiveModel::ValidatePresenceOfMatcher:0x007fda6a5c6268>
検証の最後の存在のコードフラグメントに同様のテストを追加するにはどうすればよいですか(:topic_id).if(:direct?)