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