我正在嘗試爲我的所有用戶更新'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