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

次に、ページの html を含むファイルをapp/views/proto/index.html.erbに作成します。

于 2012-09-10T20:17:13.307 に答える
2

確認すべき点がいくつかあります。

「proto」というコントローラーはありますか?

もしそうならindex、プロトコントローラーにアクションはありますか?

理想的には、proto コントローラーは ..

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 に答える