无法使用simple_format

时间:2016-06-29 15:50:35

标签: ruby-on-rails

我知道为了渲染\ r \ n我需要使用simple_format,但是它不能用于我从WordPress迁移的帖子。我尝试了许多解决方案,包括正则表达式,用break标签替换\ r \ n,但它也没有帮助。我仍然在屏幕上看到所有的换行符都打印成文本而不是渲染。 这是我试过的:

<%= simple_format(@post.body) %> 
<%= simple_format(@post.body.gsub(/(?:\n\r?|\r\n?)/, '<br>')) %> 

如果我只是做下面的事情那就行了。

<%= simple_format "<h1>Briefed while smartwatch firm Pebble lays off 25% of its staff</h1> -\r\n\r\n \r\n <p>hello</p>" %>

我不知道我做错了什么。

2 个答案:

答案 0 :(得分:0)

我终于使用SQL查询解决了它:

UPDATE posts SET body = REPLACE(body, '\r\n', '<br>');

不知道为什么Rails gsub没有工作。

编辑: 看起来我的正则表达式错了。这也解决了这个问题:

<%= simple_format(@post.body.gsub(/\\r\\n/, "\n")) %>

答案 1 :(得分:0)

尝试以下,它应该适合你,我已经测试过,它的工作

> "\n\r".gsub(/[\r\n]+/, '<br>') => "<br>" 
> "\r\n".gsub(/[\r\n]+/, '<br>') => "<br>" 

在你的情况下

 (@post.body.gsub(/[\r\n]+/, '<br>')