NoMethodError:RSpec的未定义方法`validate_presence_of'

时间:2015-07-27 20:03:02

标签: ruby-on-rails rspec

不确定我在这里做错了什么。这是我的第一行RSpec,我已经遇到了错误。

Bill.rb

class Bill
  include Mongoid::Document
  field :name, type: String
  field :dollar_amount, type: Integer
  field :cent_amount, type: Integer

  validates :name, presence: true
  validates :dollar_amount, presence: true
  validates :cent_amount, presence: true
end

bill_spec.rb

require 'rails_helper'

RSpec.describe Bill, type: :model do
    it { is_expected.to validate_presence_of(:name) }
end

据我所知,我确实在bill模型中包含了validate_presence_of。事实上,我正是从mongoid-Rspec doc完全接受它 这是怎么回事?

1 个答案:

答案 0 :(得分:1)

您正在使用旧式验证。试试这个:

validates :name,
  presence: true

validates方法比旧的特定方法灵活得多,应该在新的应用程序中使用。 The documentation表示支持这两种形式,但应鼓励更新形式。