我知道为了渲染\ 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>" %>
我不知道我做错了什么。
答案 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>')