class Category < ActiveRecord::Base
belongs_to :user
belongs_to :group
validates :name, presence: true
validates :user_id, presence: true
validates_presence_of :group
.
.
.
如果group_id不是nil,我只想验证组的存在。这可能吗?或者我是否需要编写新的验证方法?
答案 0 :(得分:0)
您可以使用Proc来有条件地执行验证。有关详情,请参阅Rails Guide。
validates_presence_of :group, unless: Proc.new { |category| category.group_id.nil? }
答案 1 :(得分:0)
您可以使用内联if
validates :group, :presence: true, if: "group_id.present?"