让我们说个人表/模型有id和名字:
class Person < ActiveRecord::Base
def height
return '10 feet tall'
end
end
如何让它返回高度&#39;结果中的方法,而不是这个:
=> #<Person id: 1, name: "bob">
就是这样:
=> #<Person id: 1, name: "bob", height: "10 feet tall">
答案 0 :(得分:0)
您可以通过attr_accessor方法使用ruby类属性。但它不是DB中的真正领域。例如,您需要使用像这样的字段高度
class Person < ActiveRecord::Base
attr_accessor :height
def height
return @height
end
def height=(val)
@height = val
end
end
你可以像使用它一样使用它(例如,如果你有身份1的人)
Person.find(1).height
答案 1 :(得分:0)
以下似乎有用:
attr_accessor :height
def attributes
super.merge('height' => self.height)
end
def height
'10 feet tall'
end
有没有更好的最小代码方式来做到这一点?