【发布时间】:2016-05-01 21:27:58
【问题描述】:
我有 Project 模型 has_many tasks。 Project 模型 accepts_nested_attributes_for 和 validates_associated tasks。
在我的@project 表单中,我在一次提交中为每个project 提交多个tasks。我希望根据项目类型在我的嵌套tasks 上运行验证。如下:
Task模特:
with_options if: :special_project? do |task|
task.validate :is_possible
end
def special_project?
project.cat == 'special'
end
不幸的是,Rails 给了我一个NilClass 错误
undefined method cat for nil:NilClass
显然project_id 属性尚未在Task 模型中设置(?)。
如何在验证期间访问我的嵌套 Task 模型中的父 Project 模型属性?
【问题讨论】:
-
是,尚未设置
标签: ruby-on-rails validation nested-attributes