属性方法或发送方法有问题吗?

时间:2019-04-02 15:02:31

标签: ruby-on-rails ruby

这行代码:

@instance.attributes.each{|key, value| @instance.send(key) = nil}

产生此错误:

syntax error, unexpected '=', expecting '}'

我很难理解为什么。

@instance.attributes.each{|key, value| puts @instance.send(key)}

它的行为符合预期,输出每个属性的值。在这种情况下,为什么它作为吸气剂而不是二传手起作用?我的语法有问题吗?

非常感谢。

1 个答案:

答案 0 :(得分:3)

@instance.send(key)

正在调用getter方法。要调用setter方法,请尝试:

@instance.attributes.each{|key, value| @instance.send("#{key}=", nil)}