0

对于我的生活,我无法弄清楚如何做到这一点。我有一个模型,它的存储值是文件系统上资源的路径。我希望模型从文件系统中写入和获取资源,所以我自然想覆盖 getter 和 setter 来执行此操作。然后我如何获得数据库中的基础价值?

class MyModel < ActiveRecord::Base
  require 'fileutils'
  def myThing=(val)
    handle = File.open(_____, 'w')
    handle.write(val)
  end
end

下划线在哪里?我见过'write_attribute'曾经这样做过,但它似乎已被弃用。有任何想法吗?当然,吸气剂也是如此。

另外,如果我在覆盖方面说错了,我很想听听更好的技术。唯一不能选择的是将值直接存储在数据库中。

谢谢!

4

1 回答 1

1

这应该这样做:

handle = File.open(attributes["myThing"]) 

不过,我会考虑将列重命名为“my_thing_path”(或 myThingPath,如果必须的话)。

于 2009-05-08T01:06:21.033 回答