2011-11-09 9 views
0

私はruby on railプラットフォームの初心者です。私はいくつかのサンプルコードを試していました。私は、すべての指示に従ったこの例http://goodbadtech.com/2009/05/13/ruby-on-rails-import-csv-data-into-database/ を実行しようとしていたが、私はこのエラーにルビーとレールでcsvファイルを解析できません

ActionController :: RoutingError(初期化されていない定数CsvImportController)を取得しています :

私はこのエラーをbashに助けてください。ここで

は私のroutes.rbを

CsvImportsControllercsv_imports_controller命名されなければならないクラスを含む
Imports::Application.routes.draw do 
    # The priority is based upon order of creation: 
    # first created -> highest priority. 
get "csv_imports/csv_view" 
#map.resources :imports 
#map.import_proc '/import/proc/:id', :controller => "imports", :action => "proc_csv" 
    # Sample of regular route: 
    # match 'products/:id' => 'catalog#view' 
    # Keep in mind you can assign values other than :controller and :action 

    # Sample of named route: 
    # match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase 
    # This route can be invoked with purchase_url(:id => product.id) 

    resources :imports 
    import_proc '/import/proc/:id', :controller => "csv_imports", :action => "pro_csv" 
    end 

    # Sample resource route (maps HTTP verbs to controller actions automatically): 
    # resources :products 

    # Sample resource route with options: 
    # resources :products do 
    #  member do 
    #  get 'short' 
    #  post 'toggle' 
    #  end 
    # 
    #  collection do 
    #  get 'sold' 
    #  end 
    # end 

    # Sample resource route with sub-resources: 
    # resources :products do 
    #  resources :comments, :sales 
    #  resource :seller 
    # end 

    # Sample resource route with more complex sub-resources 
    # resources :products do 
    #  resources :comments 
    #  resources :sales do 
    #  get 'recent', :on => :collection 
    #  end 
    # end 

    # Sample resource route within a namespace: 
    # namespace :admin do 
    #  # Directs /admin/products/* to Admin::ProductsController 
    #  # (app/controllers/admin/products_controller.rb) 
    #  resources :products 
    # end 

    # You can have the root of your site routed with "root" 
    # just remember to delete public/index.html. 
    # root :to => 'csv_imports#csv_view' 

    # See how all your routes lay out with "rake routes" 

    # This is a legacy wild controller route that's not recommended for RESTful applications. 
    # Note: This route will make all actions in every controller accessible via GET requests. 
    # match ':controller(/:action(/:id(.:format)))' 
+2

Railsは 'CsvImportController'を探している、私はあなたがCSVImportControllerそれを呼ばれると仮定します。名前を変更して、問題がなくなる可能性があります。 – Wukerplank

+0

@Wukerplank:routes.rbファイルでどういう意味ですか? –

+1

いいえ、私はこれがコントローラを指していると思います。単に 'app/controllers/csv_import_controller.rb'ファイルを見てください。どのクラスの名前ですか? – Wukerplank

答えて

4

あなたのファイルです。私はそれがエラーであると信じています。お使いのコントローラがImportsController命名されている場合、あなたのルーティングでは、あなたがimports_controller.rbに置かれ、

resources :csv_imports 

[EDIT]一方を持っている必要があり、その後、あなたのルーティングの内側に、あなたは自動的に

resources :imports 

のRailsを持っている必要があります名前に基づいて物事を結びつけようとする。これは、あなたが正しく従うと簡単にするものです。したがって、resources :importsImportsControllerというコントローラがあり、これはapp/controllers/imports_controller.rbにあります。適切なモデルImportapp/models/import.rbに呼び出すことをお勧めします。

これが役に立ちます。

は(また、あなたが言及ブログポストがレール2とではないRailsのためのものであることに注意してください3)

+0

です。Rails 2とRails 3では大きな違いがありますか? –

+0

この場合、ジェネレータは変更されています( 'rails generator'を使用)。ルーティングが変更されました。(構文は現在よりはるかに軽いです)、レール3ではプラグインの代わりにgemを使用します。 – nathanvda

+0

:私はあなたの指示に従って、別のエラーが出るようになった "/home/jeevan/csv/config/routes.rb:1:in' :初期化されていない定数のインポート(NameError) " –

関連する問題