【发布时间】:2013-04-09 01:42:01
【问题描述】:
我有一个类 (X) 的 ruby 实例和一个作为字符串 ["var1", "var2", .. , "varn" ] 的变量列表。我有一个函数可以修改这些值,这样最终的效果是这样的:
def modify(instance_obj, arrray_of_variables)
# do something
end
净效果应该是:
X.var1 = modifyVar(X.var1)
X.var2 = modifyVar(X.var2)
..
X.varn = modifyVar(X.varn)
所有变量都假定为字符串。
编辑(更多信息):我要解决的实际问题是,对于大约 10 个模型类,我有一些字符串变量作为 JSON 字符串存储在数据库中。所以我有两个函数parse_from_json(应该称为after_find)和serialize_to_json(称为before_save)。由于这将针对相当多的模型类(大约 10 个模型类和总共 30 个左右的变量)完成,所以我想将它移动到一个单独的函数中,而不是为每个模型类定义这些函数。
【问题讨论】:
-
您要在这里解决的真正问题是什么?
-
你可以在类中添加一个实例方法,它会达到你的目的。
-
@muistooshort:请参阅我的原始问题编辑以获取更多信息。
-
@sunny1304 请参阅原始问题中的编辑
-
为什么不使用 ActiveRecord 内置的标准
serialize支持?serialize是(IMO)有点黑客,但你正在做的看起来像是在解决一个有更多黑客的黑客。
标签: ruby-on-rails ruby ruby-on-rails-3