0

我有用户、类别和工作组。一个用户属于一个工作组:user.workgroup_id。一个类别属于一个工作组:category.workgroup_id。WORKGROUP 有许多用户和类别。

我需要编写一个模型验证,禁止在没有现有用户具有该特定工作组 ID 的情况下分配 category.workgroup_id,并显示错误消息,例如“对不起,但没有人属于该工作组,因此您不能将其分配给该类别。 "

有什么建议吗?提前致谢。

4

1 回答 1

1
class Category < ActiveRecord::Base
  belongs_to :workgroup

  validate :workgroup_not_empty, if: Proc.new { workgroup_id_changed? }

  def workgroup_not_empty
    if workgroup.users.count == 0
      errors.add(:workgroup_id, "Sorry, but no one belongs to that workgroup, so you may not assign it to this Category.")
    end
  end
end
于 2013-07-22T21:11:25.267 回答