1

我是否正确配置了默认路由?目前我的路线设置为:

root :to => 'proto#index'

当我这样做时,我收到以下错误:

AbstractController::ActionNotFound (The action 'index' could not be found for ProtoController):

我需要更改什么文件?

4

4 回答 4

5

您正在寻找app/controllers/proto_controller.rb

它应该包含如下内容

class ProtoController < ApplicationController

  def index
  end

end

然后你想在app/views/proto/index.html.erb创建一个包含页面 html 的文件。

于 2012-09-10T20:17:13.307 回答
2

您应该检查几件事。

你有一个叫做“proto”的控制器吗?

如果是这样,index您的原型控制器中是否有操作?

理想情况下,您的原型控制器应该类似于 ..

class ProtoController < ApplicationController
  def index
    @protos = Proto.all
  end
end
于 2012-09-10T20:17:32.207 回答
1

我认为是这样app/controllers/proto_controller.rb

Rails 约定是在控制器中使用复数形式的模型名称。

于 2012-09-10T20:18:11.973 回答
0

root :to => 'proto#index'应该进入 config/routes.rb

ProtoController 应该定义在 app/controllers/proto_controller.rb

class ProtoController < ApplicationController
  def index
    # ...
    respond_to do |format|
      format.html
    end
  end
end

此操作将查找 app/views/proto/index.html.erb 定义的模板并将其渲染出来。

于 2012-09-10T20:19:13.283 回答