我有一个依赖于Couchbase::Model
. 我创建了一个类来封装所有讨厌的数据库hackage,我需要以自定义方式验证某些属性。所以我写了一个自定义的验证方法:
class AdServeModel < Couchbase::Model
validate :validate_attributes
[...] (some other stuff happens here)
def validate_attributes
#First we validate the objects we belong_to
unless belongsToModels.nil?
belongsToModels.each do |attribute|
retrievedClass = attribute.to_s.camelize.constantize.find(
send("#{belongsToAttributeName(attrName)}"))
errors.add(attribute.to_sym, "#{attribute} is invalid") unless !retrievedClass.nil? and retrievedClass.valid?
end
end
end
但是当我尝试运行它时,我得到:
undefined method 'validate' for AdServeModel(id):Class (NoMethodError)
. 我很困惑。任何关于为什么会发生这种情况的指针都值得赞赏。如果您需要更多代码,请在评论中说明。