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代替

相关问题