LoginSignup
0
0

More than 3 years have passed since last update.

undefined method`  'の解決になるかもしれないお話

Last updated at Posted at 2021-04-08

遭遇したエラー

RailsでWebアプリを作成中マイクロポストの削除機能を実装している最中に以下のようなエラーに遭遇しました。

スクリーンショット 2021-04-08 23.56.13.png

    def destroy
      @micropost.destroy
      flash[:success] = "投稿が削除されました"
      redirect_to request.referrer || root_url
    end

@micropostが定義されていないみたいなことが書かれていますが実際はbefore_actionで定義しているので原因が分からずお手上げでした。

teratailやプログラム板で質問

これ以上時間を消耗するのも嫌なのでteratailで質問したところ回答は得られず、たまらず4chのプログラマー板で質問しました。

スクリーンショット 2021-04-09 6.00.08.png

すると@micropostの前が全角なのが怪しいと教えていただき、そんなん今まで全角でも大丈夫だったしなーと半信半疑で半角に治したところ

スクリーンショット 2021-04-09 6.01.41.png

きちんと実行されました。

エラー文の正しい解釈

スクリーンショット 2021-04-09 6.06.15.png

よくよく見返してみればundefined method @micropostではなく undefined method`  'となっているので何かしらの原因でそもそもメソッド自体を読み込めていないという解釈をするべき問題であり、その解決策が全角スペースを使わないというものだったという事象でした。

終わりに

多くの場合は全角スペースにしても動作はするようですが、そもそも日本語くらいでしか使用されない全角スペースをプログラミング言語で利用するのは不適切であり、当然動作しないシチュエーションも存在するということが勉強できたいい機会となりました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0