我尝试对注释方法进行自定义验证,该方法将验证是否存在注释ID,那么它必须存在。
class Comment < ActiveRecord::Base
belongs_to :article
#Many to one relation with itself (1 comment can have one parent and multiple child)
has_many :child, class_name: "Comment", foreign_key: "parent_id"
belongs_to :parent, class_name: "Comment", optional: true
belongs_to :user, optional: true
validates :comment, presence: true, length: { minimum: 10 }
validates :first_name, presence: true, length: { minimum: 2, maximum: 30 }
validates :last_name, length: { minimum: 2, maximum: 30 }
validates :comment_id_presence
private
def comment_id_presence
if comment_id != nil && !Comment.exists?(comment_id)
errors.add(:comment_id, "Le parent doit exister ou être nulle")
end
end
end
但是,我收到以下错误:ArgumentError(您需要提供至少一个验证)。我想知道我的错误是什么,或者是否有更简单的方法来做我想做的事。