我需要将一些数组附加到我无法直接写入的模型字段中。
例如,我需要在块中使用|type|
param代码,如下所示:
Employee.find_by(resposible: true).send("#{type}_ids") = [1,2,3]
但是,这不起作用。
答案 0 :(得分:0)
在通过send
调用的方法中包含参数的语法略有不同。试试这个:
Employee.find_by(resposible: true).send("#{type}_ids=", [1,2,3])
答案 1 :(得分:0)
您使用的语法存在问题。这是send
的正确语法:
import re
regex = re.compile('th.s')
l = ['this', 'is', 'just', 'a', 'test']
matches = re.findall(regex, string)
因此,将代码更改为以下代码应该可以正常工作
send(symbol [, args...])
您需要在逗号后面传递参数
注意:首选public_send
超过send
,因为Employee.find_by(resposible: true).send("#{type}_ids=", [1,2,3])
只会调用与public_send
不同的公共方法