是否可以遍历模型中的访问器?
我有一个看起来像的模型:
class Account < User
#Required fields
attr_accessor :email, :first_name, :last_name, :organizations
end
我得到一个看起来像
@name : email
@value : nick@nick.com
@name : first_name
@value : nick
我有一堆看起来像这样的代码:
unless(item.Field["@name"].to_s.match('E-mail').nil?)
@account_new.email = item.Field["@value"].to_s
end
unless(item.Field["@name"].to_s.match('First Name').nil?)
@account_new.first_name = item.Field["@value"].to_s
end
这是可怕的代码。我想知道是否可以遍历模型中的访问器并获取访问器的名称并使用它在 JSON 对象中进行模式匹配,然后进行分配?
我尝试使用 .instance_variables.each 做 |variable|
但它似乎并不像我认为的那样工作。有一个更好的方法吗?