ruby-on-rails - 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 中存储临时列值
解决方案
您的脚本很好,您会发现以下脚本在您的 rails 控制台中完美运行:
job = Job.last
job.incentive = { id: 1 }
p job.incentive # returns { id: 1 }
如果您重新启动或刷新您的控制台(或网页),则此信息将消失,因为它仅设置在内存中而不存储到数据库中。
推荐阅读
- ios - Swift 中的 UIPickerView
- c - 取消时如何收集线程退出状态(使用连接)
- django - Django F() - 避免自动括号
- arrays - scipy.optimize 约束方法中的边界数组形状问题
- cryptography - 错误:获取广播客户端时出错:rpc 错误:代码 = 不可用 desc = 传输:写入 tcp
- python - 坐标函数更新列表并存储它们以被调用
- html - 无需使用 CSS 或 JS 即可创建 SVG 饼图的数学
- python - 使用现有 TimeSerie 中的索引和另一个 TimeSerie 中的列在 Pandas 中创建一个 DataFrame
- azure - 向 Azure Device Streams 添加身份验证
- javascript - Nodejs,尝试将var导出到另一个文件但值没有改变