我现在花了几个小时将字符串存储在Rails的数据库列中。
我必须将authorization
重命名为transaction
,以便Rails存储该值。
为什么Rails在保存值时会产生干扰?
示例:
# Works
self.update_attribute(:transaction, result) rescue nil
# Does not work
self.update_attribute(:authorization, result) rescue nil
答案 0 :(得分:2)
您的基础数据库是什么? 可能将“授权”作为保留字。
查看生成的sql并直接将其运行到db。如果它运行没有问题,那么我的假设是无效的。
答案 1 :(得分:1)
mySQL和SQLserver都使用授权作为保留字。
所以你只需要使用不同的词。
你也可以使用像'authorized'或'auth'这样的东西。
答案 2 :(得分:0)
也许尝试使用表名为列添加前缀?例如:
UPDATE my_table
SET my_table.authorization = "new authorization"
WHERE id = 5