私はrillingをBillingモデルで実行するとき、nil:NilClassのために未定義のメソッド`>'を使い続けます。以下は、私はRSpecのRails Rspec - nilのモデル属性未定義メソッド `> ':NilClass
Failed examples:
rspec ./spec/models/billing_spec.rb:8 # Billing should require start_date to be set
rspec ./spec/models/billing_spec.rb:9 # Billing should require end_date to be set
rspec ./spec/models/billing_spec.rb:10 # Billing should require amount to be set
rspec ./spec/models/billing_spec.rb:11 # Billing should require hours to be set
rspec ./spec/models/billing_spec.rb:12 # Billing should require rate to be set
rspec ./spec/models/billing_spec.rb:13 # Billing should require processing_fee to be set
rspec ./spec/models/billing_spec.rb:14 # Billing should not require tip to be set
、それらのすべてがこれを示すを実行したときに、私はこのエラーを取得するモデル
class Billing < ActiveRecord::Base
validate :start_date, :end_date, presence: true
validate :is_valid_date?
def is_valid_date?
errors.add(:start_date, 'must be in the past') if start_date > Time.current.to_date
errors.add(:end_date, 'must be in the past') if end_date > Time.current.to_date
errors.add(:end_date, 'must be more than or equal to start date') if start_date > end_date
end
end
ための私のコードであり、これはRSpecの
require 'rails_helper'
RSpec.describe FamilyBilling, type: :model do
it { should validate_presence_of(:start_date) }
it { should validate_presence_of(:end_date) }
it { should validate_presence_of(:amount) }
it { should validate_presence_of(:hours) }
it { should validate_presence_of(:rate) }
it { should validate_presence_of(:processing_fee) }
it { should_not validate_presence_of(:tip) }
end
ための私のコードですエラー
Failure/Error: errors.add(:start_date, 'must be in the past') if start_date > Time.current.to_date
NoMethodError:
undefined method `>' for nil:NilClass
間違っている?
ラインを?私たちは推測する必要はありませんので、全体のエラーを含める –