tasks
のモデルProject
があります。 Project
モデルaccepts_nested_attributes_for
およびvalidates_associated
tasks
。Rails:ネストされたモデルバリデーションの親モデル属性へのアクセス
私の@project
のフォームでは、それぞれproject
に対して複数のを提出しています。プロジェクトタイプに基づいてネストされたtasks
のバリデーションを実行したいと思います。次のように:
Task
モデル:残念ながら
with_options if: :special_project? do |task|
task.validate :is_possible
end
def special_project?
project.cat == 'special'
end
、Railsは私にNilClass
エラー
どうやらproject_id
属性はまだTask
モデルに設定されていないundefined method cat for nil:NilClass
を与えます(?) 。
検証中にTask
ネストされたモデルの親属性のProject
モデル属性にアクセスするにはどうすればよいですか?
はい、まだ設定されていません –