html_safe无法在控制器轨道中工作5

时间:2018-06-12 08:01:44

标签: ruby-on-rails ruby-on-rails-5 actioncontroller ruby-on-rails-5.2 html-safe

我目前需要使用使用CKeditor从管理员创建的API发送静态内容。

现在,即使在使用raw和html_safe,escape_html等之后,在标签中渲染html内容也没有出现

render json: {responseCode: xxx, responseMessage: "xxxxx." content: (@privacy_policy.try(:content)).html_safe}}

输出目前正在出现:

 "\u003cp\u003eLorem ipsum dolor sit amet, consectetur adipiscing elit. Donec sodales augue nec dolor tincidunt, porttitor feugiat augue ultricies. Fusce eget hendrerit ante, non tristique sem. Suspendisse lacus justo, bibendum et suscipit nec, sagittis vel leo. Suspendisse et felis non est laoreet venenatis. Sed et aliquet dui. Fusce sit amet sapien ipsum. Proin est erat, egestas at rutrum sed, posuere at libero. Cras pretium risus sapien, non imperdiet elit ullamcorper a. Etiam ut leo eget erat eleifend posuere ut eu leo. Sed et aliquet dui. Fusce sit amet sapien ipsum. Proin est erat, egestas at rutrum sed, posuere at libero. Cras pretium risus sapien, non imperdiet elit ullamcorper a. Etiam ut leo eget erat eleifend posuere ut eu leo .\u003c/p\u003e\r\n"

预期产出:

"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec sodales augue nec dolor tincidunt, porttitor feugiat augue ultricies. Fusce eget hendrerit ante, non tristique sem. Suspendisse lacus justo, bibendum et suscipit nec, sagittis vel leo. Suspendisse et felis non est laoreet venenatis. Sed et aliquet dui. Fusce sit amet sapien ipsum. Proin est erat, egestas at rutrum sed, posuere at libero. Cras pretium risus sapien, non imperdiet elit ullamcorper a. Etiam ut leo eget erat eleifend posuere ut eu leo. Sed et aliquet dui. Fusce sit amet sapien ipsum. Proin est erat, egestas at rutrum sed, posuere at libero. Cras pretium risus sapien, non imperdiet elit ullamcorper a. Etiam ut leo eget erat eleifend posuere ut eu leo .</p>\r\n"

注意:检查邮递员时,数据的格式正确,但在检查RestClient或使用curl请求时,问题就出现了。 Rails Version = 5.2

1 个答案:

答案 0 :(得分:0)

所以,最后让它在当前环境文件中使用它:

ActiveSupport::JSON::Encoding.escape_html_entities_in_json = false

在4.2.6版本之后,它默认为true