次のコントローラー コードを使用して、tmp ディレクトリにファイルを作成しました。
def download
file_path = "#{RAILS_ROOT}/tmp/downloads/xxx.html"
data = render_to_string( :action => :show, :layout => nil )
File.open(file_path, "w"){|f| f << data }
flash[:notice] = "saved to #{file_path}"
end
これにより、必要なファイルが tmp ディレクトリに作成されます。私がやりたいことは、ユーザーにそのファイルをダウンロードさせることです。
私のローカル マシンでは、ファイルは次のようなパスに保存されます。
/Users/xxxx/Documents/Sites/xxxx/Website/htdocs/tmp/downloads/xxxx.html
そして、ライブサーバーでは、この URL はまったく異なるものになります。
私が疑問に思っていたのは、ユーザーにこの xxxx.html をダウンロードさせるにはどうすればよいですか?
PS私が置くと...
redirect_to file_path
...コントローラーでは、ルートが見つからないだけです。
乾杯。