【问题标题】:How to save HTML page in database?如何将 HTML 页面保存在数据库中?
【发布时间】:2015-10-19 05:19:00
【问题描述】:

如何使用 ruby​​ 将 HTML 页面保存到数据库中?

我想在seed.rb中保存几条记录`EmailEvent.create(email_event_id: 1, description:

"contact_agent_notification", html_page:"html 页面在这里"`

我不确定这是否是正确的方法。任何帮助将不胜感激。

【问题讨论】:

  • 我觉得不错。您预计会遇到什么问题?

标签: ruby ruby-on-rails-4 mysql2


【解决方案1】:
  1. 您希望数据库中的字段是“文本”而不​​是 varchar,这样它就可以保存所有的 html
  2. 当您直接输出 html 时,您需要确保将 .html_safe 添加到您的视图字段。 (例如<%= email_event.html_page.html_safe %>
  3. 在安全方面,您一定要确保不受信任的用户不会编辑存储在数据库中的 HTML。如果没有,您需要确保在将其输出到视图中之前对其输入进行清理。

不过,正如 spickermann 所说,除此之外,一切都非常简单。

【讨论】:

  • 我在 html 中有 rails 标签,我保存了它们,但是当我检索 html 时,它应该给我一些名称,例如“abc”。它现在给了我这样的东西Name: <%= @contact_agent.name %>
  • @user2419697 所以您将 .html.erb 文件保存在数据库中,并希望在输出之前对其进行处理?现在你真的疯了。我刚用谷歌搜索,这个页面看起来很有帮助:stackoverflow.com/questions/2660808/…
  • 另一种选择是不存储erb模板,而是使用主干js或angularjs,它们有自己的模板引擎。然后,您可以将这些模板存储在数据库中并使用 javascript 填充它们。这真的取决于你在做什么。
猜你喜欢
  • 2012-11-17
  • 2018-07-05
  • 1970-01-01
  • 2021-03-08
  • 2019-12-19
  • 1970-01-01
  • 1970-01-01
  • 2010-11-30
  • 2016-08-29
相关资源
最近更新 更多