我的 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/