Railsチュートリアル4.4.4章コントローラクラスのところでエラーが出ました。
やろうとしていたことは、
Railsコンソールでは、その中からコントローラのアクション(実はメソッド)を呼ぶこともできます。
Rails
1>> controller.home 2=> nil 3ここでは、homeアクションの中身は空なのでnilが返されます。
を参考にコントローラのアクションを呼ぼうとしてました。そこで、エラーがおきました。
Rails
1>> controller.home 2Traceback (most recent call last): 3 1: from (irb):1 4NoMethodError (undefined method `home' for #<ApplicationController)
ApplicationControllerに、homeメソッドが無いことがエラーだと思い、コードを書き換えたらエラーせずnilが返ってきました。
<書き換え前>
app/controllers/concerns/application_controller.rb
1class ApplicationController < ActionController::Base 2 def hello 3 render html: "hello, world!" 4 end 5end
<書き換え後>
app/controllers/concerns/application_controller.rb
1class ApplicationController < ActionController::Base 2 def home 3 end 4end
これでエラーは出なくなったのですが、Railsチュートリアルが出している公式のコードとは違うため、何故正しいコードでエラーが出てしまうのかが知りたいです。
全ファイルを公式のコードと照らし合わせましたが、間違えている箇所はありませんでした。
関係してそうなファイルは下に載せておきます。
アドバイスの方よろしくお願いします。
書き換える前のapplication_controller.rbです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/05/23 10:49
2022/05/23 13:41