7

升級到Rails 3.1.0和以後的David Rice's instructions後,我的所有控制器奇怪地找不到他們的意見了。Rails 3.1升級後的ActionView :: MissingTemplate

# rails s # 

Started GET "/units" for 127.0.0.1 at 2011-09-04 07:52:23 -0400 
    Unit Load (0.1ms) SELECT "units".* FROM "units" 

ActionView::MissingTemplate (Missing template units/index, application/index with {:handlers=>[:erb, :builder], :formats=>[:html], :locale=>[:en, :en]}. Searched in: 
): 
    app/controllers/units_controller.rb:9:in `index' 

units_controller.rb

# GET /units 
    # GET /units.xml 
    def index 
    @units = Unit.all 

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

當然,該視圖是有(/app/views/units/index.html.erb;它是在升級前的工作)。我覺得這是一個愚蠢的錯誤,我在這裏錯過了什麼?

+0

我沒有收到本地主機上同樣的錯誤,但我發現它在Heroku一些深不可測的原因。其他人看到了嗎? –

回答

4

看起來你忘了刪除下面一行在你development.rb:

config.action_view.debug_rjs =真

這應該被刪除或註釋掉當不使用Rail Javascript時。

參見「jQuery的:新的默認」的更多信息,rubyonrails.org上升級 http://weblog.rubyonrails.org/2011/4/21/jquery-new-default

0

視圖被保存爲erb,而不是haml?只是刺傷在黑暗...

+0

正確。(太短) –

+0

如果註釋掉'format.xml'這行,會發生什麼? – snowangel

+0

沒有變化。 (太短) –

2

像湯姆說,本來我忘了刪除

config.action_view.debug_rjs = true 

/config/environments/development.rb,但在我發佈了這個問題,我已經完成了。

的事情,但(相當愚蠢的)是,我不得不重啓服務器更改配置參數後。當你改變你的配置設置時,重新啓動你的服務器,孩子們!

0

我得到了同樣的錯誤,但出於不同的原因。當我進行黃瓜測試時,我的RAILS_ENV開始發展了。

export RAILS_ENV=export RAILS_ENV=test修復了這個問題。

0

軌生成控制器歡迎指數將產生控制,我想這是如果您要升級舊的應用程序,一直圍繞自從Rails的V1產生控制器

0

最簡單的方法,你可能已經XML模板命名作爲.rxml。 Rails 3.1(3.0版本)不再支持它,所以它們需要重新命名爲.builder。

是什麼:

units.xml.rxml 

需要重命名爲:

units.xml.builder 

這會影響使用的XML構建的所有模板。例如RSS,KML等

0

我看到了這個問題,因爲我的一些模板仍然命名的.erb.html.rhtml代替

相關問題