我在 Rails 3 应用程序中有以下类:
class Attribute
...
def self.ANNOTATION
self.find_by_table_name('annotations')
end
...
end
在另一个类中,我在调用中引用了这个方法validates
:
validates :attribute_type_id, :attr_correct => {attr: Attribute.ANNOTATION}
当我运行测试时,我得到一个 NoMethodError for Attribute.ANNOTATION
. Attribute.ANNOTATION
但是,如果我只是在方法中提到AttrCorrectValidator.validate_each
它,它就可以正常工作。
validates
为什么语句中不能识别我的类方法?它可能与 Ruby/Rails 如何评估类声明有关吗?