我正在尝试为我的所有用户更新'allowed_ips'字段,但它不像我期望的那样工作。带字符串连接的update_all
'allowed_ips'是一个带有ip地址的字符串。
User.where(role: 1).update_all(:allowed_ips => ["CONCAT('allowed_ips', '192.168.0.1')"])
# output:
> user.allowed_ips
=> "CONCAT('allowed_ips', '192.168.0.1')"
我要的是:
UPDATE 'users' SET 'allowed_ips' = CONCAT('allowed_ips', '192.168.0.1') WHERE 'role' = '1'
# output:
> user.allowed_ips
=> "127.0.0.1, 127.0.0.2, 192.168.0.1"
谢谢!这工作:User.where(role:1).update_all(“allowed_ips = CONCAT(allowed_ips,'new_ip')”) – Evgeny