假设我有一个像下面这样的类
class List
include DataMapper::Resource
property :id, Serial
property :username, String
def self.my_username
return self[:username]
end
end
list=List.create(:username=>,'jim')
list.my_username
当我运行它时,它告诉我找不到该方法,并且经过更多调查,您只能定义类方法(而不是对象方法)并且类方法无法访问对象数据。
有什么方法可以将这些方法作为对象方法包含在内并访问对象数据吗?我正在使用 Ruby 1.8.6 和最新版本的 datamapper。
最佳答案
避免所有 self 并成为 InstanceMethod :
class List
include DataMapper::Resource
property :id, Serial
property :username, String
def my_username
return self[:username]
end
end
list=List.create(:username=>'jim')
list.my_username
关于ruby - Datamapper,定义自己的对象方法,怎么样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3061026/