Ruby on rails 重写Rails中的属性并获取基础值

Ruby on rails 重写Rails中的属性并获取基础值,ruby-on-rails,overriding,attributes,setter,Ruby On Rails,Overriding,Attributes,Setter,就我个人而言,我不知道该怎么做。我有一个模型,其中存储的值是文件系统上资源的路径。我希望模型能够从文件系统中写入和获取资源,因此我自然希望覆盖getter和setter来完成这项工作。那么,如何获取数据库中的基础值 class MyModel < ActiveRecord::Base require 'fileutils' def myThing=(val) handle = File.open(_____, 'w') handle.write(val) end

就我个人而言,我不知道该怎么做。我有一个模型,其中存储的值是文件系统上资源的路径。我希望模型能够从文件系统中写入和获取资源,因此我自然希望覆盖getter和setter来完成这项工作。那么,如何获取数据库中的基础值

class MyModel < ActiveRecord::Base
  require 'fileutils'
  def myThing=(val)
    handle = File.open(_____, 'w')
    handle.write(val)
  end
end
classmymodel
下划线在哪里?我见过使用“write_attribute”来实现这一点,但它似乎已被弃用。有什么想法吗?当然,对于getter也是如此

此外,如果我在覆盖问题上说错了,我希望听到更好的技术。唯一没有选择的是将值直接存储在db中

谢谢

这应该可以做到:

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

不过,我会考虑将该列重命名为“my_thing_path”(或者myThingPath,如果必须的话)。虽然这个答案不适用于我的Rails版本,但它确实让我走上了正确的轨道。自我[“神话化”]似乎奏效了!