Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从博客文章预览中清除html实体-Rails_Html_Ruby On Rails - Fatal编程技术网

如何从博客文章预览中清除html实体-Rails

如何从博客文章预览中清除html实体-Rails,html,ruby-on-rails,Html,Ruby On Rails,我正在继续我的博客应用程序的实现,我正在使用markdown(红毯宝石)创建帖子 然而,在我的测试帖子中,我有这个代码 #This is a test post `<p> your paragraph text here </p>` 有解决办法吗?我希望符号留在这个例子中,或者我只需要一些普通字符的介绍 还有第二个问题:有没有办法瞄准我在预览中显示的帖子的哪一部分?Rails 4.2引入了HTML消毒方法的新实现(其中一个是strip\u标记helper)。曾经,HT

我正在继续我的博客应用程序的实现,我正在使用markdown(红毯宝石)创建帖子

然而,在我的测试帖子中,我有这个代码

#This is a test post

`<p> your paragraph text here </p>`
有解决办法吗?我希望符号留在这个例子中,或者我只需要一些普通字符的介绍


还有第二个问题:有没有办法瞄准我在预览中显示的帖子的哪一部分?

Rails 4.2引入了HTML消毒方法的新实现(其中一个是
strip\u标记
helper)。曾经,HTML标记是通过正则表达式删除的,Rails 4.2通过在封面下使用Nokogiri(通过丝瓜)实现了同样的功能

由于
strip\u标记
与以前的版本相比,似乎失去了一些向后兼容性,因此解决方法是使用
sanitize
帮助程序,而不是
strip\u标记

而不是:

<%= truncate(strip_tags(post.html), length: 80) %>

使用:


sanitize助手应该使用WhiteListSanitizer,但如果它不起作用,您可以尝试直接使用以下命令调用特定方法:

<%= truncate(Rails::Html::WhiteListSanitizer.new.sanitize(post.html), length: 80) %>


您使用的Rails版本是什么?在Rails的最新版本中,
strip_标记
将特殊字符转换为html实体时出现了一个bug。实际上我使用的是4.2.1。这个版本中有bug吗?
<%= truncate(strip_tags(post.html), length: 80) %>
<%= truncate(sanitize(post.html), length: 80) %>
<%= truncate(Rails::Html::WhiteListSanitizer.new.sanitize(post.html), length: 80) %>