2011-10-07 37 views
3

我想讓一些用戶能夠在yaml文件中下載數據。Rails Restful downloads

我看到,你可以用

  1. 發送文件做到這一點(但使用了大量的資源)
  2. 直接的link_to公共文件夾中的文件(對我來說並不好,因爲生成的文件,以便請求通過控制器需要去一個控制器。
  3. 寧靜的URL(該方法在http://guides.rubyonrails.org/action_controller_overview.html部分解釋,但還不足以得到它的工作!)

我跟着這個ND試圖像 DEF顯示 @client = Client.find(PARAMS [:ID])

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

redis_to_file返回一個字符串與YAML數據

在配置mime_types.rb

Mime::Type.register "x-yaml", :yml 

然後訪問諸如

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

更多的選擇我也有類似的問題。我成功地做出了迴應。我可以用網頁開發工具來確認這一點。但就是這些。瀏覽器不顯示文件下載窗口。 – Penguin