ruby-on-rails – 如何将呈现的视图保存为静态文件?

我的Rails 2.3应用程序生成HTML / CSS或Word文档中的页面.我想将html文件作为静态文件(即filename.html或filename.doc)保存到文件系统.我打算在完全呈现的页面和“保存报告”按钮上进行预览操作.我们的用户稍后会访问这些静态文件. (我将保存db的路径.)

有什么建议如何做到这一点?

我甚至创建一个文件并保存它,但我不知道如何使我的渲染视图进入它.奖金积分,如果有人知道如何保存到S3!非常感谢!

render_to_string是你的朋友一个你有一个字符串,烧它以通常的方式文件.

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')

玩得开心,不要用剪刀跑.

翻译自:https://stackoverflow.com/questions/1364830/how-to-save-a-rendered-view-as-a-static-file

转载注明原文:ruby-on-rails – 如何将呈现的视图保存为静态文件?