【发布时间】:2015-07-21 03:30:45
【问题描述】:
我有三个成员,answer_set,回答哪个model_a与model_c没有关系(它没有直接关系。关系看起来像member->answer_set->answer),所以在model_a中我添加了这个代码来保存属性相关记录
accepts_nested_attributes_for :answer_set, reject_if: :validation_method
并添加reject_if 方法来检查答案的验证。来自 answer_set 属性
def validation_method(answer_sets_attribute)
question = Question.find(answer_sets_attribute[:question_id])
answer = answer_sets_attributes[:answers_attributes]
return true if answer[:answer_text].blank? && answer[:answer_number].blank?
end
但是当我从 validation_method 返回true 时,只有记录未通过但我想返回错误并重定向以再次填写表单。
【问题讨论】:
-
如果没有关系,不要使用
accepts_nested_attributes_for。 -
我建议您将实际模型添加到问题中。当你使用真正抽象的例子时,很多东西会在翻译中丢失。
-
好的,我已经改了。
标签: ruby-on-rails validation model