У меня есть модель Вопрос, ответ и ответ.Как validate_presence_of с условием вложенных атрибутов?
Ответ:
class Answer < ActiveRecord::Base
has_many :answer_details, :dependent => :destroy
accepts_nested_attributes_for :answer_details, :allow_destroy => true
validates_associated :answer_details
end
AnswerDetail:
class AnswerDetail < ActiveRecord::Base
belongs_to :answer
belongs_to :question
validates_presence_of :answer_field, :if => lambda {isrequired == true}, :message => "This is required field"
end
Поле isrequired
от модели вопроса.
Вопрос:
class Question < ActiveRecord::Base
has_one :answer_detail
end
Модель AnswerDetal имеет поле question_id
и answer_id
на нем. Я хочу, чтобы фильтр answer_field
, если поле isrequire
из модели вопроса равно true? Как я это сделаю? Как получить доступ к атрибуту ассоциации has_one внутри модели?
Я немного запутался, чтобы ваш ответ? Мне нужно поставить 'validates: answer_field, presence: true, if: lambda {isrequired == true}' на модели вопроса? Зачем? –