動画にコメントを送ってもUndefinedになっちゃうのはなんで?

Javascript

またまたTechpit学習中のエラーです。

動画にコメントを送るWebアプリケーションを作ってみよう!」で学習中に発生したエラーになります。

エラー内容は、コメントを入力しても「Undefined」となってしまうです。

教材レベルは「初級」なのですが、このエラーに苦しみました。

なぜなら、エラー画面が出ないから。

Twitter仲間にも助けてもらいました。ありがとうございました。

もふぃ
もふぃ

この場を借りて、御礼申し上げます。

エラー内容

エラーの内容ですが、こちらのツイートの通りです。

コメント入力しても、「Undefined」というメッセージしか流れないんです。

問題の動画

でも、自分にはこのエラーがRailsの間違いなのかJavaScriptなのかGemのバージョンによるものなのか、見当がつきませんでした。

なぜかというと、JavaScriptの記述は丸コピだったから!

教材が間違えてるとは思えませんでした…。

それに、Console画面にはエラーメッセージも表示されていません。

なので、私はRailsに原因があると思っていました

しかし、このツイートで聞いたところ、原因はJavaScriptにあるらしいとのこと…。

早速、そこをメインに調査していきました。

エラー箇所

まずは修正前のコードをご覧ください。

$(function(){
  $(document).on('click','#comment_button', function(){

    let comment = $("comment_text").val();
    // テキストボックスに入力された文字を取得し、commentに格納

...省略...

});

この時点で、Console.logで出力すると、「Undefined」となってしまいました。

最初、val()で引き渡さないといけないのかなーと思いましたが、関係ありませんでした。

エラー修正

間違えている箇所は、コメントを格納するこの一文でした。

    let comment = $("#comment_text").val();
もふぃ
もふぃ

「#」が抜けてたーーー!

無事に解決。ノリノリだぜー!

もふぃ
もふぃ

無事にコメント入力できる様になりました。

おまけ:ブログなので「思い」を綴らせていただきます。

胸を張れることではありませんが、私は確かに、コードを丸コピしました(笑)

それでもエラーが出るので、もちろん執筆者に問い合わせしましたよ。

でも、執筆者から正確な回答は得られなかったため、Twitterで助けを求めました。

そして、自力で解決して、教材を見直してみたら、しれっとコードに「#」がついていました…

なんだかなーーーー!!!

この「#」に何日悩んだと思ってんだよー!

それだけです。おしまい。

コメント