首页 > 解决方案 > Rails 6:ActionText 破坏了我的链接,如何禁用 URL 编码?

问题描述

我将 action_text 与模型一起使用,并且需要使用流动模板变量输入链接,例如:

Contact us at: <a href="mailto:support@{{website.domain_name}}">support@{{website.domain_name}}</a>

然而,action_text 通过对大括号进行编码来破坏这些链接 :( 它也在 src img tags src attributes 中做到这一点 :(

Contact us at <a href="mailto:support@%7B%7Bwebsite.domain_name%7D%7D">support@example.com</a>

如果我在 href 或 src 属性的任何地方使用我自己的标签,例如 [domain_name] ,它的作用也是一样的。

我只想让我的 HTML 保持原样,保持原样,就像我输入它一样,我不需要任何“帮助”编码 URL tfank 你非常喜欢 action_text/Rails。

有没有办法修复或禁用这种不需要的行为?

后期编辑:

原来这个 trix 东西也在删除任何其他 HTML,例如表格、div 等 :( 它甚至删除了 HTML 数据属性 :(( 我如何禁用它?我只想要一个具有基本功能的友好 HTML 编辑器(粗体,下划线、段落、标题...)

标签: ruby-on-railsactiontext

解决方案


我用CGI::unescape

在我的模型中,我有类似的东西:

class Post
   has_rich_text :content

   def decoded_content
      CGI::unescape(content.to_s)
   end
end

然后在帖子对象上使用它。IEPost.first.decoded_content


CGI::unescapeHTML或者CGI::unescape_html对我不起作用。


推荐阅读