我已经花了几个小时在 Rails 的数据库列中存储一个字符串。
我必须重命名authorization
为,transaction
以便 Rails 存储该值。
为什么 Rails 在保存值的同时会干扰?
例子:
# Works
self.update_attribute(:transaction, result) rescue nil
# Does not work
self.update_attribute(:authorization, result) rescue nil
我已经花了几个小时在 Rails 的数据库列中存储一个字符串。
我必须重命名authorization
为,transaction
以便 Rails 存储该值。
为什么 Rails 在保存值的同时会干扰?
例子:
# Works
self.update_attribute(:transaction, result) rescue nil
# Does not work
self.update_attribute(:authorization, result) rescue nil
你的底层数据库是什么?它可能具有“授权”作为保留字。
查看生成的 sql 并将其直接运行到您的数据库中。如果它运行没有问题,那么我的假设是无效的。
mySQL 和 SQLserver 都使用授权作为保留字。
所以你只需要使用不同的词。
您也可以使用类似“授权”或“身份验证”的内容。
也许尝试使用表名为列添加前缀?例如:
UPDATE my_table
SET my_table.authorization = "new authorization"
WHERE id = 5