【发布时间】:2021-11-11 15:25:28
【问题描述】:
我将 ransack 参数从一个页面传递到另一个页面。最初的 params 看起来像 hash
{"processed_at_gteq_datetime"=>"2021-08-01", "processed_at_lteq_datetime"=>"2021-09-14", "status_eq"=>"processed"}
但是这个参数发送到另一个页面后,它变成了一个字符串,并采用以下类型:
"{\"processed_at_gteq_datetime\"=>\"2021-08-01\", \"processed_at_lteq_datetime\"=>\"2021-09-14\", \"status_eq\"=>\"processed\"}"
在这种形式下,我无法使用它们进行搜索。
我如何转换这个字符串:
"{\"processed_at_gteq_datetime\"=>\"2021-08-01\", \"processed_at_lteq_datetime\"=>\"2021-09-14\", \"status_eq\"=>\"processed\"}"
散列?
我试过了
JSON.parse my_params
但它不适用于此字符串
JSON::ParserError Exception: 767: unexpected token at '{"processed_at_gteq_datetime"=>"2021-08-01", "processed_at_lteq_datetime"=>"2021-09-14", "status_eq"=>"processed"}'
【问题讨论】:
-
您是如何“将这些参数发送到另一个页面”的?
-
解决这个问题的正确方法不是尝试解析 Ruby 代码,而是首先找出数据被破坏的原因。#
标签: ruby-on-rails json ruby