【发布时间】:2016-03-19 20:53:44
【问题描述】:
我的哈希中的属性比 Virtus 在它的类中定义的要多。我想在实例化之前在 virtus 模型中剔除这些属性。
test_hash = {:x="stuff" , :y ="stuff2", :z="stuff3"}
def myObject
include Virtus.model
attribute :x, String
attribute :y, String
end
myObject.new(test_hash)
这失败了NoMethodError: undefined method 'z='
我只是希望它默默地丢弃 z 并仍然创建对象。
我尝试覆盖初始化方法并插入一个剔除方法,但这似乎不起作用。显然,在对象创建期间批量分配属性会通过不同的途径?
剔除这些属性的最佳方法是什么?
【问题讨论】:
-
有趣的问题,可能值得在 virtus 上发布一个 github 问题
标签: ruby-on-rails ruby virtus