首页 > 解决方案 > attr_accessor 没有从 rails 模型更新值

问题描述

我有以下型号

class Job < ActiveRecord::Base
  attr_accessor :incentive
end

我希望能够通过 attr_accessor 在我的模型中存储一个临时列。

我希望能够做这样的事情

job = Job.last
job.incentive = {id: 1}

我希望如果我这样做job.incentive,它应该会返回{id: 1}

我也尝试过这样做

def incentive =(val)
  @incentive = val
end

def incentive
  @incentive
end

但这也没有用。我如何能够在 rails 4 中存储临时列值

标签: ruby-on-railsrubyruby-on-rails-4attr-accessorattr-accessible

解决方案


您的脚本很好,您会发现以下脚本在您的 rails 控制台中完美运行:

job = Job.last
job.incentive = { id: 1 }
p job.incentive # returns { id: 1 }

如果您重新启动或刷新您的控制台(或网页),则此信息将消失,因为它仅设置在内存中而不存储到数据库中。


推荐阅读