我在 Rails 3 应用程序中保存哈希时遇到问题。使用控制台时我可以保存它,只是当我通过表单提交哈希时它不起作用。
这个问题解决了 https://stackoverflow.com/questions/10345054/how-to-edit-a-serialized-hash-column-in-form-textarea但该解决方案对我不起作用。此外,如果我使用:
serialize :bulk_action, Hash
我收到错误:
Attribute was supposed to be a Hash, but was a String
通过表单保存时的哈希值如下所示:
"{\"location\"=>{\"commands\"=>{\"custom_command_one\"=>\"true\", \"custom_command_two\"=>\"true\"}}}"
然而,通过控制台:
{"location"=>{"commands"=>{"custom_command_one"=>"true", "custom_command_two"=>"true"}}}
我的数据库字段是一个文本字段。通过表单保存哈希值的最佳方法是什么?
- 编辑 -
我发现如果我使用符号而不是字符串作为名称,我可以解决这个问题,但它仍然输出一个长字符串,而不是哈希值。
您能否在文本区域内切换到 JSON,以便解析它不会那么危险。因为您需要做的是评估控制器或模型中的相应参数条目,使用户能够对运行您的应用程序的用户执行任何他们想要的操作。对于 JSON,您可以使用JSON.parse
在设置模型属性之前。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)