Нужна помощь в выяснении того, как проверить одно поле, если и только если другое поле в связанной модели имеет определенное значение.Например:
// Мои модели
class Course < ActiveRecord::Base
has_many :locations, :dependent => :destroy
accepts_nested_attributes_for :locations
end
class Location < ActiveRecord::Base
belongs_to :course
end
Курс может иметь много мест (штат, город и т. Д.), А также дату начала.Я хочу, чтобы что-то вроде: «Разрешить, чтобы location.start_date был пустым ТОЛЬКО ЕСЛИ course.format == 'DVD'"
В моей модели Location я пробовал что-то вроде:
validates_presence_of :start_date,
:message => "Start Date can't be blank",
:allow_blank => false,
:if => Proc.new { |course| self.course.format != 'DVD' }
Затем, когда я использую это, я получаю: закрытый метод 'format' для nil: NilClass
Не уверен, что я на правильном пути.
Спасибо!