Ruby 将 html 标记显示为字符串

Ruby show html tag as string

我有一个 Rails API,它将一些数据显示为 JSON。当用户输入纯文本时,响应看起来不错。但是当我在输入中添加 html 标签或特殊字符(如“”)时,它会将它们转换为 unicode 字符。我想将整个事物呈现为字符串,无论用户添加什么。我试过使用 to_s 但仍然无法将这些位转换为字符串。

 result.each do |row|
      i = row["i"].to_s
      j = row["j"].to_s
      obj[i][j] = {}
      obj[i][j]["name"] = row["name"].to_s
  end

Given: <p>name</p>
Output :\u003cp\u003ename\u003c/p\u003e
Expected output: <p>name</p>

您将数据显示为 JSON。这就是那些字符作为 JSON 字符串的样子。

'<p>name</p>'.to_json
=> "\"\u003cp\u003ename\u003c/p\u003e\""
JSON.parse "\"\u003cp\u003ename\u003c/p\u003e\""
=> "<p>name</p>"