我正在编写一个简单的项目管理应用程序作为Rails中的学习练习。
我有一个task
模型和一个user
模型。 task
模型有一个user
字段,表示哪个用户声明了给定的任务。
我想在模型级别执行一些操作但不确定如何:
user
字段可以设置为当前活动用户,而不是任何其他用户)。换句话说,您无法分配任务 - 用户只能声明它们。尝试将这些作为验证强制执行是正确的吗?你能指出我需要的验证方向吗?我应该自己写吗?
谢谢。
答案 0 :(得分:3)
您应该添加自己的验证。您正在寻找的没有默认值。以下是一些示例代码:
validate :has_only_five_tasks
def has_only_five_tasks
if User.find(self.user_id).tasks.count >= 5
errors.add(:user_id, "User may only have 5 tasks assigned.")
end
end
另一个就像上面一样,只有改变了,所以我相信你可以调查一下并适应你自己的需要。