Ruby on rails 重写Rails中的属性并获取基础值
就我个人而言,我不知道该怎么做。我有一个模型,其中存储的值是文件系统上资源的路径。我希望模型能够从文件系统中写入和获取资源,因此我自然希望覆盖getter和setter来完成这项工作。那么,如何获取数据库中的基础值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
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版本,但它确实让我走上了正确的轨道。自我[“神话化”]似乎奏效了!