Tôi có tài nguyên dự án có nhiều tác vụ. Tôi muốn đảm bảo rằng mọi công việc đều có project_id
bằng cách thêm validates_presence_of :project_id
vào mô hình nhiệm vụ.Đường ray: xác thực sự hiện diện của parent_id trong liên kết has_many
Tuy nhiên, khi tạo dự án mới có tác vụ, project_id sẽ không khả dụng cho đến khi bản ghi được lưu, do đó tôi không thể sử dụng validates_presence_of :project_id
.
Vì vậy, câu hỏi của tôi là, làm cách nào để xác thực sự hiện diện của project_id trong mô hình nhiệm vụ? Tôi muốn đảm bảo mọi công việc đều có cha mẹ.
...
class Project < ActiveRecord::Base
has_many :tasks, :dependent => :destroy
accepts_nested_attributes_for :tasks, :allow_destroy => true
...
class Task < ActiveRecord::Base
belongs_to :project
validates_presence_of :project_id
Câu hỏi này không hợp lý với tôi. Bạn muốn một nhiệm vụ thuộc về một dự án mà không có dự án bắt đầu bằng ... làm thế nào để có thể nhận được một id cho một cái gì đó không tồn tại? – porkeypop
Bạn có tạo công việc thông qua biểu mẫu lồng nhau khi bạn tạo dự án không? –