2010-01-10 59 views
0

我喜歡Rails如何讓我靈活地命名視圖文件,例如index.erbindex.html.erb基本上做同樣的事情。Rails視圖不一致呈現

問題是我合併了兩個單獨的項目,其中一個使用filename.erb作爲其所有視圖,另一個使用filename.html.erb

看來Rails只希望只有一個命名方案,因爲我一直只使用.erb擴展名獲取缺少模板錯誤的視圖。

我可以解決這個問題嗎?我是否應該想要解決這個問題?還是應該咬我的子彈並手動重命名我的一半視圖文件?

+0

你開發什麼平臺上? Windows,Mac,Linux?你應該重新命名你的文件,但我們可能會想出一個可以幫你做的小腳本。 – 2010-01-10 04:09:05

+0

我正在使用Windows,我的開發夥伴是在Mac上,所以我們可以運行腳本。儘管我們已經將文件重命名爲「.html.erb」,因爲我們更願意使用該方案。謝謝你的提議! – user94154 2010-01-10 04:11:39

回答

1

對我來說,聽起來好像您使用的命名約定可能存在問題。

見,當你選擇不工作的動作,然後明確地嘗試和渲染一個模板會發生什麼:

render :template => 'products/show' 

凡的產品/節目「是路徑到您的佈局views目錄。 如果這不起作用,它可能有助於找出問題。

另一件事是嘗試使用的格式聲明從你的行動中:

respond_to do |format| 
    format.html # index.html.erb 
    format.xml { render :xml => @products } 
end 

這裏的文檔也是關於如何約定由文檔中找到非常明確的。 http://guides.rubyonrails.org/layouts_and_rendering.html

希望幫助, 大衛

+0

謝謝,我一定會看看,並報告回來! – user94154 2010-01-10 17:33:57

0

你應該堅持更現代的軌道公約*.html.erb

+0

這就是我們決定要做的事情,不過Rails仍然期待只有'.erb',但仍然會丟失模板缺失的錯誤。是否有一些設置可以更改爲明確告訴Rails如何查找模板? – user94154 2010-01-10 04:09:27

0

您是否使用不同版本的Rails?低於2.0的Rails版本不支持.html.erb格式。

+0

nope。在2.3.3和2.3.5上都試過了。與兩者相同的問題。 – user94154 2010-01-10 04:34:42