ruby-on-rails - 如何将渲染 View 保存为静态文件?

标签 ruby-on-rails

我的 Rails 2.3 应用程序以 HTML/CSS 或 Word 文档的形式生成页面。我想将该 html 文件作为静态文件(即 filename.html 或 filename.doc)保存到文件系统中。我计划有一个带有完全呈现页面和“保存报告”按钮的预览操作。我们的用户稍后将访问这些静态文件。 (我将保存数据库的路径。)

关于如何做到这一点的任何建议?

我正在创建一个文件并保存它,但我不确定如何将渲染 View 放入其中。如果有人知道如何将其保存到 S3,则可以获得奖励积分!非常感谢!

最佳答案

render_to_string 是你的 friend 。一个你把它放在一个字符串中,以通常的方式将它刻录到文件中。

class FooController
  def save_foo_to_disk
    data = render_to_string( :action => :index )
    File.open(file_path, "w"){|f| f << data }
    flash[:notice] = "saved to #{file_path}"
  end
end

就 S3 而言,请参阅 aws-s3 gem .它似乎在做你所追求的。用法有点像这样。
AWS::S3::Base.establish_connection!(
  :access_key_id     => 'abc',
  :secret_access_key => '123'
)
S3Object.store(file_name, data, 'bucket-name')

玩得开心,不要带着剪刀跑。

关于ruby-on-rails - 如何将渲染 View 保存为静态文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1364830/

相关文章:

ruby-on-rails - Rails/Ruby - 如何检查 attr_accessor 字段是否存在?

php - Lighty (Lighttpd) 虚拟主机配置

javascript - 在 rails 中创建一个带有链接的下拉列表

ruby-on-rails - 对 Rails 中正确的 BDD 方法的怀疑

ruby-on-rails - 打开一个新的终端选项卡并在里面运行命令,只有在打开选项卡之后

ruby-on-rails - 尝试安装 RVM 并获取 : Error running '__rvm_make -j2'

javascript - 在 Rails 4 中将数组(Javascript)放入 PostgreSQL

css - 样式表/CSS 在 Rails 中不起作用

ruby-on-rails - 自定义设计路径名

ruby-on-rails - 向我的网站添加完整网络搜索的最佳方式?