ローカルで作業していた Rails アプリを作成しました。それを私の Web ホストにデプロイする際に、sqlite から mysql2 に変更し、他のいくつかの gem を更新しました。アプリは Web ホスト上で稼働していますが、現在はローカルで実行されていません。ローカルで mysql2 と sqlite を使用しようとしました。Rails サーバーを開発 (sqlite3) または実稼働 (mysql2) で起動すると、rake db:drop
rake db:create
rake db:migrate
. それらは正常に動作し、データベース ブラウザーまたはワークベンチでこれを確認できます。
rake routes を実行すると、ルートが見つかりません。
RAKE ROUTES --Trace
** Invoke routes (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute routes
上記が返されるすべてであり、アプリケーションのメイン ページを参照すると、次のエラーが表示されます。
Internal Server Error: undefined method `info' for nil:NilClass
Rake Routes が routes.rb 内のすべてのルートを無視したり、見つけられなかったりする原因は何ですか?
以下は私のroutes.rbファイルです。
MyApp::Application.routes.draw do
get "users/new"
get "answers/new"
get "quizzes/new"
get "flashcards/new"
resources :posts do
resources :comments
resources :users
resources :flashcards #, only: [:new, :create, :destroy]
resources :sessions, only: [:new, :create, :destroy]
resources :posts, only: [:new, :create, :destroy]
#get "users/enter"
root :to => 'pages#home'
match '/', :to => 'pages#home'
match '/contact', :to => 'pages#contact'
match '/about', :to => 'pages#about'
match '/ghostx', :to => 'users#ghostx'
match '/users/1', :to => 'users#ghostx'
match '/enter', :to => 'sessions#new'
match '/exit', :to => 'sessions#destroy'
match'/flashcards', to: 'flashcards#index'
match '/check', :to => 'flashcards#check'
match '/flash', :to => 'flashcards#pullcard'
match '/search', :to => 'flashcards#search'
end