在 sqlite3 数据库中保存 Rails marshal 时出现问题
这是我
f = 1.2
f = Marshal.dump(f) #\004\bf\v1.2\00033
在尝试将此 f 保存到文本列后尝试的方法,这是我得到的错误。
ActiveRecord::StatementInvalid: SQLException: unrecognized token: "fϾ1.2 33" (Ͼ is male symbol, but I can't find one).
This is what I tried
f = 1.2
f = Marshal.dump(f) #\004\bf\v1.2\00033
after that I tried to save this f into text column and this is an error I got.
ActiveRecord::StatementInvalid: SQLException: unrecognized token: "fϾ1.2 33" (Ͼ is male symbol, but I can't find one).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我在模型中使用一个简单的包装器来转储数据并对其进行 base64 编码,使其成为原始字符串:
i use a simple wrapper in my model that dumps the data and encodes it base64 so that it is a raw string:
phoet 的答案很好,我只添加了对空值的支持,这样加载时就不会出现错误。
phoet's answer is good, I only added support for empty values so you don't get error while loading.