2

Database Importer というコントローラーを作成したかったのです。

これが私が実行したものです:

rails generate controller database_importer index

生成されたもの:

class DatabaseImporterController < ApplicationController
  def index
  end

  def import
    # to do.
    # Receive the uploaded CSV file and import to the database.
    CSV.foreach("parse.csv") do |row|

    end
  end
end

訪問すると、次のhttp://0.0.0.0:3000/database_importer/indexようになります。

Routing Error

No route matches {:action=>"import", :controller=>"database_importer"}
Try running rake routes for more information on available routes.

これが私の関連するルートです:

get 'database_importer/index'

ルーティング エンジンがインポート アクション メソッドに誘導しようとするのはなぜですか?

実際のコントローラー名 (アンダースコアがない) を反映するようにルートを変更しようとすると、次のようになります。

get 'databaseimporter/index'

Routing Error

uninitialized constant DatabaseimporterController
Try running rake routes for more information on available routes.
4

1 に答える 1

2

次のように定義されたルートもありますか?

post 'database_importer/import'

Railsがフォームのルートを生成しようとしているときにフォームアクションが失敗していると思います。

于 2012-12-30T01:20:03.833 に答える