2011-10-07 13 views
3

yamlファイルでデータをダウンロードできるようにしたいユーザーもいます。Rails穏やかなダウンロード

は、私はあなたが

  1. センドファイルでこれを行うことができていることがわかります(ただし多くのリソース使用しています)ファイルがそのように生成されるため、パブリックフォルダ内のファイル(私のためによくないのlink_to
  2. 直接的にリクエストがコントローラに移動する必要があります。
  3. 安らかなURLをコントローラ(この方法は、部分的にhttp://guides.rubyonrails.org/action_controller_overview.htmlで説明したが、それは働いて取得するのに十分ではありません!)

を経由して私は、このAに続きますredis_to_fileが設定mime_types.rbで

Mime::Type.register "x-yaml", :yml 
YAMLデータと文字列を返す

respond_to do |format| 
     format.html 
     format.yml { render :yml => @client.redis_to_file } 
    end 
end 

:ND ようなものを試みDEF @client = Client.find([ID]のparams)を示します

はその後

clients/5.yml 

のようにアクセス私が得るのは「無効なテンプレート」だけです。 (正しいですが、私のビューにはymlテンプレートはありません)

これを行う方法についての手がかりは非常に高く評価されています。

答えて

1

はこれを試してみてください:

respond_to do |format| 
    format.html 
    format.yml { send_data @client.redis_to_file, :type => 'x-yaml' } 
end 

私は同様の問題を持っているDocs

+0

でより多くのオプションがあります。私はうまく答えました。 Webデベロッパーツールでこれを確認できます。しかしそれだけです。ブラウザはファイルダウンロードウィンドウを表示しません。 – Penguin

関連する問題