2010-12-20 104 views
0

我正在編寫一個腳本,允許用戶通過URL參數傳遞格式。我有JSON和XML根據需要工作,但我不能讓YAML工作。Rails 3呈現問題

case params[:format] 
     when "xml" then respond_with(@labels) 
     when "json" then respond_with(@labels_hash.to_json) 
     when "yaml" then render :text => @labels_hash.to_yaml 
     end 

因爲當我通過format=yaml在我的網址某種原因,然後我的腳本試圖強行下載的文件。爲什麼會發生這種情況?

工作代碼:

case params[:format] 
     when "xml" then respond_with(@labels) 
     when "json" then respond_with(@labels_hash.to_json) 
     when "yaml" then respond_with(@labels_hash) do |format| 
      format.yaml { render :text => @labels_hash.to_s } 
     end 
     end 

回答

1

嘗試:

在控制器中添加:yamlrespond_to :yaml和:

respond_to do |format| 
    ....other formats.... 
    format.yaml { render :yaml => @labels_hash } 
end 
+1

我試過了,但它仍然試圖強行下載的文件。 – dennismonsewicz 2010-12-20 19:01:24

+0

我用cURL調用了它。我試圖在瀏覽器中查看創建的YAML,並且認爲瀏覽器不會知道如何解釋YAML MIME類型 – dennismonsewicz 2010-12-20 19:13:03