try 방법

2637 단어 RubyRails
pre_order.rb
  before_validation :set_company_for_user

  def set_company_for_user
    self.company = self.user.company if self.user.company.present?
  end

이 방법이 있을 때 rspec가 여기에 걸려있어요.

pre_order_spec.rb

  describe 'association' do
    subject { FactoryBot.create(:pre_order) }
    context 'belongs_to' do
      it { is_expected.to belong_to(:user) }
    end
  end
try 방법으로 바꾸면 통과!
pre_order.rb
  def set_company_for_user
    self.company = self.user.company if self.user.try(:company).present?
  end
참조: https://qiita.com/ngron/items/ec5f72639634949c126e

좋은 웹페이지 즐겨찾기