2011-01-07 68 views
0

我正在將舊的Rails 1.x應用程序升級到2.3.10,並且我遇到了渲染視圖的問題。我有一個控制器有兩個與之相關的視圖:index.hamlindex.rxml。在升級之前,一切都按預期工作。在移動到Rails 2之後,相同的代碼(沒有更改)已經開始在wants.html塊的末尾自動呈現XML視圖,當它應該呈現haml視圖時。當我將index.rxml文件重命名爲其他內容(如foo.rxml)時,它會成功找到並呈現index.haml文件。Rails升級:rxml文件被渲染而不是haml文件

視圖渲染邏輯從Rails 1到Rails 2的變化是什麼造成了這種情況?

回答

3

我沒有使用過Rails 1(跳入Rails 2),但我想這是因爲Rails 2使用.html.erb而不是.rhtml。 .xml.erb代替.rxml也一樣。同樣的事情發生在HAML上:.haml變成.html.haml。不知道這是否是導致問題的原因,但它是Rails 2創建視圖的方式。

編輯

另外,如果你想渲染XML在梁2,您需要添加以下到您的控制器:

respond_to do |format| 
    format.xml { render :xml_view_name } 
end 
+0

重命名的看法固定它。我使用了rake任務[here](http://thelucid.com/2007/05/16/rails-edge-getting-your-view-extensions-ready-for-edge/)。 – jrdioko 2011-01-12 01:15:53