首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails 4:如何在text_area中插入换行符?

Rails 4:如何在text_area中插入换行符?
EN

Stack Overflow用户
提问于 2015-12-19 01:51:12
回答 3查看 341关注 0票数 0

我用rails创建了一个博客。我是一个初学者,走得很远,但现在我被一个看似次要的细节所困:我似乎不能格式化帖子(文章)。

下面是我的show.html.erb的相关部分:

代码语言:javascript
运行
复制
<p>
  <strong>Content:</strong>
  <%= simple_format (@article.content) %>
</p>

当我写一些东西并插入html标签时,它们不会被识别出来。我做错了什么?

EN

回答 3

Stack Overflow用户

发布于 2015-12-19 01:58:17

Rails将自动删除html标签,以防止有人向您的网页注入代码(例如恶意javascript)。

如果您的用户不能将数据输入到@article.content中,并且它始终是安全的,那么您可以使用html_safe方法将其标记为安全。

代码语言:javascript
运行
复制
<%= (simple_format (@article.content)).html_safe %>
票数 0
EN

Stack Overflow用户

发布于 2015-12-19 01:59:12

你能发布文章内容以供参考吗?如果我必须猜测,我会认为Rails正在转义html标记,并将它们作为纯文本插入(因此输出如下:文章内容!

看看Rails的帮助器方法,如content_tag (http://apidock.com/rails/ActionView/Helpers/TagHelper/content_tag)和concat (http://apidock.com/rails/ActionView/Helpers/TextHelper/concat),并考虑使用它们来帮助生成适当的html标记。

一个需要关注的问题是谁将提供内容。例如,如果你正在编写一个其他人将会使用的应用程序,你需要确保给你的任何html都被转义,以避免XSS攻击。在这种情况下,您需要花一些时间阅读有关如何正确清理用户输入的内容。

票数 0
EN

Stack Overflow用户

发布于 2015-12-19 02:05:11

您现在可以指定包装它的标签(默认为p),如下所示:

代码语言:javascript
运行
复制
  <%= simple_format (@article.content, {}, wrapper_tag: "div") %>

添加white-space: pre-line样式。

它将在用户输入中显示\r或\n (enter)作为新行。

有关更多信息,请访问:http://apidock.com/rails/v4.0.2/ActionView/Helpers/TextHelper/simple_format

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34361283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档