我与yt
gem的Yt::Video
合作。我有一个模型类Video
,它有很多属性。我想将video
对象属性的所有值保存到json中的文件中,而不是逐个提及特定属性。
由于to_json
错误,我无法使用SystemStackError (stack level too deep)
。
我很欣赏有关更好的方法的任何想法。
更新 最后,感谢Palma先生和D-side的线索,尤其是sawa的回答,我弄清楚为什么堆栈如此之深。 这是因为视频模型将Auth对象作为具有Video对象作为子对象的属性... [这里有无尽的循环]
答案 0 :(得分:1)
属性或属性是Rails中的概念。没有它,不清楚你的意思是什么。
如果你的属性是为类定义的实例变量,并且假定你已经在基本对象类型上定义了to_json
,那么你可以定义类似的东西:
class Video
def to json
instance_variables.each_with_object({}) do |k, h|
h[k] = instance_variable_get("@#{k}")
end.to_json
end
end