当前位置:  开发笔记 > 后端 > 正文

Rails中的非DB attr_accessor属性持久性

如何解决《Rails中的非DBattr_accessor属性持久性》经验,为你挑选了1个好方法。

我有一个应用程序,其中attr_accessor用于保存模型的临时数据,该模型将传递给rake任务.看到没有这些属性的数据库字段,并且它们不是从数据库数据计算的,attr_accessor数据是否会持续存在并且可用于rake任务?如果我需要重新启动服务器会发生什么 - 如果数据没有保存到数据库,数据会丢失吗?或者为了解决这个问题,我是否需要保存到临时文件或数据库字段?



1> Daniel Beard..:

我假设您在询问通过Rake任务访问它们时,存储在源自Web请求的ActiveRecord对象属性中的数据是否可用?

不,他们不会.该数据甚至无法用于下一个Web请求.如果您加载两次相同的记录,那么该数据甚至不会存在.

class Thing < ActiveRecord::Base
  attr_accessor :data
end

#try this in script/console
thing = Thing.find(:first)
thing.data = "Something"
thing = Thing.find(:first)

puts thing.data
-> nil

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有