升级到Rails 3.1.0并跟随David Rice's instructions后,我的所有控制器都不能再找到他们的意见了。
# 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 :(得分:4)
您好像忘记在development.rb中删除以下行:
config.action_view.debug_rjs = true
不使用Rail Javascript时,应将其删除或注释掉。
有关升级的更多信息,请参阅rubyonrails.org上的“jQuery:New Default” http://weblog.rubyonrails.org/2011/4/21/jquery-new-default
答案 1 :(得分:2)
config.action_view.debug_rjs = true
在/config/environments/development.rb
中,但在我发布问题的时候,我已经完成了。
虽然(非常愚蠢)但我必须在更改 config 参数后重新启动服务器。更改配置设置时重启服务器,孩子们!
答案 2 :(得分:0)
视图保存为erb,而不是haml?只是在黑暗中刺伤......
答案 3 :(得分:0)
我得到了同样的错误,但出于不同的原因。当我进行黄瓜测试时,我将RAILS_ENV设置为开发。
export RAILS_ENV=
或export RAILS_ENV=test
解决了问题。
答案 4 :(得分:0)
rails生成控制器欢迎索引将生成控制器,我想这是生成控制器的最简单方法
答案 5 :(得分:0)
如果您要升级自Rails v1以来一直存在的旧应用程序,您可能会将xml模板命名为.rxml。 Rails 3.1(它在3.0中)不再支持它,因此需要将它们重命名为.builder。
是什么:
units.xml.rxml
需要重命名为:
units.xml.builder
这会影响使用XML构建器的所有模板。例如RSS,KML等。
答案 6 :(得分:0)
我看到了这个问题,因为我的一些模板仍然被命名为.rhtml
而不是.erb.html