У меня есть модель под названием Booking, при создании она должна проверить, найдена ли связь.Код:
def price_details
variant.tour.price_details.each do |pd|
if category == pd.category
if date_from >= pd.from_date && date_from <= pd.to_date
return true
else
errors.add_to_base('error message')
return false
end
end
end
nil
end
Бронирование принадлежит варианту и идентификатор варианта сохраняется в бронировании.date_from также является полем в модели бронирования.
Когда я пытаюсь запустить проверку, я получаю NoMethodError: undefined метод `tour 'для nil: NilClass.
Как я могу получить доступ квариант перед созданием?
РЕДАКТИРОВАТЬ:
Все еще возникают проблемы с этим, поэтому давайте попробуем это в консоли.
b = Booking.new
b.valid?
=> NoMethodError: undefined method `tour' for nil:NilClass
option.tour.price_details.each do | pd |линия, которая терпит неудачу.То же самое произойдет, если я
b = Booking.new(:variant_id => params[:variant_id])