0

我有一个使用SQL Server Reporting Services生成报告并以 MHTML 格式导出的客户端。客户只想将预定义目录结构中的 MHTML 推送到我的 Rails public/reports 文件夹。

Rails 有什么方法可以“吸收”目录结构,递归地创建文件列表,生成无序列表,然后为每个 MHTML 文件动态创建路由?我知道 MHTML 文件可以嵌入 iframe(虽然浏览器支持有限,但这对我来说不是问题)

预定义的目录结构是 Public/Reports/Dashboard/Exceptions/

Dashboard 将包含 1 个 MHTML 文件,异常(将是 Dashboard 的子导航或子项)将包含未定义的数量。

布局模板将是一种包装器。

任何有 Rails 经验的人都知道达到预期结果的最佳方法吗?

任何帮助将不胜感激。我使用的是 Rails 3.0.20(它没有资产管道),它不会托管在 Heroku 上(我知道无写权限)

4

1 回答 1

0

(抱歉,我对 MHTML 文件不是很熟悉,所以我假设这些只是浏览器可以解释的静态文件。)

Rails 中没有什么特别提供您所指的行为。Rails 只是一个帮助提供动态响应的框架,您想要的功能与文件系统相关,Rails 主要将其抽象出来。

我能想到几个选择。

  1. 自己滚

    Ruby 具有文件和目录实用程序,您可以使用它们来读取公共目录的内容并呈现您想要的响应类型。我将从这里开始:

    http://www.ruby-doc.org/core-1.9.3/Dir.html

    并使用 ruby​​ 的目录 globbing 来获取文件列表。

  2. 使用机架

    Rails 建立在 Rack 之上,Rack 是现在大多数 ruby​​ 应用程序服务器实现的标准 Web 服务器接口。Rack 提供了一些库,可以更轻松地提供像传统 Web 服务器这样的静态资产。

    这里有几个资源可供查看:

    http://quickleft.com/blog/rack-130-serving-static-files http://edgeguides.rubyonrails.org/rails_on_rack.html

于 2013-01-29T17:25:05.783 回答