2017-10-21 9 views
0

コマンドrails generate controller Say hello goodbyeを使用した後、三つのファイルが生成されているローカルホスト:3000 /言う/ハロー、それが返されます。初期化されていない一定のApplicationControllerに

Uninitialized Constant ApplicationController例外。

say_controller.rb

クラス:Say_Controller < ApplicationControllerに

def: hello 
end: 
def: goodbye 
end 

エンド:正しいネスティングを含む私の質問を再フォーマットするには、いくつかの要求どおり

。これは.rbファイルの外観です。

+0

Rails.root:/ home/josh/Documents/ruby​​s/work/demo アプリケーショントレース|フレームワークトレース|完全なトレース app/controllers/say_controller.rb:1: '<トップ(必須)> ' ルート – jcane

+0

1)あなたの' application_controller.rb'のファイル名+ファイルパスは? 2)また、 'application_controller.rb'を表示できますか? 3)あなたの 'say_controller.rb'を特に最初の行に表示できますか? (どのクラスがそれを拡張しているかを示す)。 –

+0

say_controller:クラスSayController jcane

答えて

0

application_controller.rbにあるApplicationControllerを削除したようです。これはsay_controller.rbは次のように開始されます理由ですあなたが生成する任意の他のコントローラのベースである:

class SayController < ApplicationController 

あなたがsay_controller.rbを削除すると、それはあなたがapplication_controller.rbを削除可能ですか?もしそうなら、gitを使ってファイルを追跡すると、削除されたファイルを復元することができます。それ以外の場合は、おそらく新しいRailsプロジェクトを生成する必要があります。

+0

ロビン、あなたの答えをありがとう。私はまた、元のコマンドを元に戻すためにrailsコマンドdestroy controllerを使用しました。その後、新しいコントローラを作成するためにコントローラコマンドを再入力した後、同じエラーメッセージが表示されます。コントローラーはhtmlファイルと一緒になっているはずなので、狂っている。あなたが言ったことをどうやってgitを使うのですか? – jcane

+0

@jcaneファイル 'app/controllers/application_controller.rb'はありますか?このファイルは、新しいRailsアプリケーションを作成するときに生成されます。削除した場合は、復元する必要があります。最初にGitを使ってファイルを追跡しなかった場合、ファイルを復元することはできません。新しいRailsプロジェクトを生成し、そこから 'application_controller.rb'をコピーすることをお勧めします。 –

+0

私はsay_controller.rbファイルを持っています。いったんdestroyコマンドで古いコントローラを削除すると、新しいrails generateコマンドで新しいコントローラ全体を生成できないはずですか?さらに、私はapplication_controller.rbをsay_controller.rbだけ見たことはありません。 – jcane

関連する問題