0

ローカルで作業していた 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
4

1 に答える 1

1

end2 つのブロックを開いていますが、ステートメントは 1 つしかありません。このブロックはどこですか

resources :posts do

閉めるべき?

于 2013-05-02T04:38:33.780 に答える