【发布时间】:2014-08-06 01:17:13
【问题描述】:
我创建了一个 Rails 模型,比如说Car。我向它添加了一个名为age 的属性(不保存在数据库中)。
class Car < ActiveRecord::Base
attr_accessor :age
end
如果我尝试打印汽车的属性,age 不会出现。我发现是因为 attr_accessor 只是定义了一个实例变量。
> my_car = Car.first
> my_car.age = 500
> puts my_car
如何向记录本身添加不持久化到数据库的属性?
【问题讨论】:
-
你刚刚回答了你自己的问题。
-
@sevenseacat 谢谢,不确定是不是这样。更新了问题,因为我仍然需要知道如何将属性添加到记录而不将其持久化到 db。
-
您已经拥有 - 您使用
attr_accessor。仅仅因为它没有在inspect输出中输出,并不意味着它不存在。 -
我是
my_car.to_json,我需要age被包括在内。 -
万岁,现在我们得到了实际的问题。在你的模型中定义
as_json来指定模型所需的json表示。
标签: ruby-on-rails ruby-on-rails-4 rails-activerecord