我正在尝试将 params 的输出保存到数据库中(我正在保存这个:params.inspect
)- 这是应该保存的字符串的示例:
> {\"utf8\"=>\"✓\", \"_method\"=>\"patch\", \"authenticity_token\"=>\"fpQC8FY8+qztD41jjcFSJRars539KRshw/vczmmJd9Q=\",
> \"car\"=>{\"role_type\"=>\"1\", \"admin_id\"=>\"67\",
> \"branch_id\"=>\"1\", \"template_id\"=>\"21\", \"cost\"=>\"0.00\",
> \"carrier_additional_cost\"=>\"0.00\", ...
首先,我尝试像这样保存参数:
all_params = params.except(:controller, :action).inspect
但是没有成功。所以:
all_params = params.except(:controller, :action).inspect.encode("iso-8859-1")
还有这个:
all_params = params.except(:controller, :action).inspect.encode("iso-8859-1").force_encoding("utf-8")
返回相同的错误。
如何正确保存 params.inspect
的输出?
我尝试保存此数据的列是 text
,而不是 string
。
谢谢
最佳答案
尝试使用 params
而不是 params.inspect
。
params
的示例输出是
{"controller"=>"users", "action"=>"show", "id"=>"1"}
这是一个散列,我认为它是您想要保存在数据库中的内容。
关于mysql - rails : "Mysql2::Error: Incorrect string value:" when trying to save "params.inspect",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36704946/