我这里有一个小而愚蠢的问题,我有模特行动;
def self.price_change_up(network, currency, change )
prices = Prices.where('network = ?', network)
prices.each do |price|
price.send("#{currency}") = price.send("#{currency}") + change
price.save
end
end
但行
price.send(“#{currency}”)= price.send(“#{currency}”)+更改
返回语法错误。可能是什么问题。
答案 0 :(得分:1)
我想你想要这样做:
price = price.send("#{currency}") + change
您当前的示例是无效的语法,因为您正在尝试将分配给值,price.send("#{currency}")
的返回值可能是什么。
答案 1 :(得分:1)
price.send(“#{currency}”)= price.send(“#{currency}”)+更改
这是无效的,你不能使用'='来分配,如果你想使用发送与setter
self.send("#{currency}=", prev_curr_value)
在LHS中,您使用的是price.send(“#{currency}”),它会动态调用一个方法,并返回一个值,该值再次被分配给相同的值,但有一些看起来很奇怪的添加更改。你想在这里实现什么,用更新的qsn来解释。