在Rails 3中显示存储的HTML内联

我有点陷入困境,我需要帮助解决它。 我正在开发一个Rails 3应用程序,允许用户通过SOAP服务与我们的电子邮件服务提供商进行交互。用户将能够上传完整的HTML文件,这些文件将存储在应用程序的数据库(MySQL)中。我正在尝试创建一个视图,让用户预览数据库中保存的HTML内容。 通常情况下,HTML文档会将某种类型的样式应用于背景(例如
<body bgcolor="#e5e5e5">
<div style="background:#e5e5e5;">
或两者。这种样式应用于整个页面。我遇到的问题是为内联HTML创建容器约束那些样式。我在想
<iframe>
,但这似乎想要一个src属性,但我的HTML的来源是数据库。任何想法我将如何实现这一目标? 这是我的视图代码:
<p>Content for: <%= @doc.file_name %> </p>

<div>
  <%= render :inline => @doc.content %>
</div>
这是呈现的HTML页面的源代码,如果这可以帮助您可视化我正在做的事情:
<!DOCTYPE html>
<html>
<head>
  <title>ListTool</title>
<meta name="csrf-param" content="authenticity_token"/>
<meta name="csrf-token" content="W7AoMYkiW8gDdKYDNB/NemCY/mRz+JeNadb3pexhaIo="/>
</head>
<body>

<p>Content for: HJ4151.html </p>

<div>
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html><head><meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">

<title>The Bankers&rsquo; Black Book of High-Yield Dividend Plays
</title>

</head>



<body marginheight="0" marginwidth="0" topmargin="0"
bgcolor="#e5e5e5">

<div style="width:100%; background:#e5e5e5; margin:0; padding:0;">

_irrelevant HTML code here_
</div>
</body>
</html>
</div>

</body>
</html>
    
已邀请:
我认为让这个工作的最好方法是
iframe
,你要做的是在第一个文档中嵌入第二个文档,这正是
iframe
的用途。我接近这种方式的方法是创建一个从数据库中发出页面的页面/视图,所以像这样的模板就像这样:
<%= render :inline => @doc.content %>
控制器应从URL获取id参数并加载正确的对象。然后将现有模板更改为:
<p>Content for: <%= @doc.file_name %> </p>

<iframe src="/docviewer/<%= @doc.id %>">
</iframe>
我不知道这是否是Rails 3的有效语法,但希望你能得到这个想法。     

要回复问题请先登录注册