学習するときに気をつけること【27/30 2nd】
June 11, 2020
こんにちは、たわらです。
本記事は、初学者のつまずきポイントの整理です。
RUNTEQ というプログラミングサークルにて、初学者のつまずきポイントを解説した勉強会があったので、
そのときの情報をまとめています。
勉強会は、こちらの記事がもとになっています。
https://qiita.com/DaichiSaito/items/cd66115569b0a75f1bfa
フォームの理解があいまい
フォームの実態をきちんと理解できていないことが多い、そうです。私もその一人だったです。
・name と value がペアになってサーバに送られる
・name と value は input や select や radio などに付与される
・action 属性に指定された URL に対して入力値が送られる
で、それを受け取るのがparams
です。
ユーザーが作成されない、ログインができない、というようなエラーになった場合は、
フォームからどんな値が送られているかを、Chrome の開発者ツールを使って確認しましょう、とのことです。 開発者ツールの element や network を見れば、フォームがサーバーに何を送っているかがわかります。
フォームにモデルを紐付ける、とは
フォームにモデルを関連付けることが多いです。こんなふうに。
<%= form_with model: board, local: true do |f| %>
・・・
・・
・
<% end %>
で、このようにモデルに関連付けることで、何がうれしいか、というと、
HTTP メソッドを判断し、url をよしなに生成してくれるからなんですね。
しかも、渡された変数の中身が空であるか、そうでないかで、url を適したかたちで作ってくれます。すごい。
あまりにすごいのですが、HTML での表示などを気にする癖をつけたほうがよいです。なぜなら、どのように Rails がよしなに働いてくれても、 ブラウザが読み取るのは HTML の構造なのですから。
実装するときは ER 図を書こう
ある機能を実装する場合には、RDB(リレーショナルデータベース)がどうなるのかを、特に初学者は、ER 図を書き出したほうがよいそうです。
要素同士の関係を箱と線で表示した、あれでのことです。
とはいえ、それを書くためには、テーブル設計の知識が必要なので、ここも勉強しましょう、とのことです。
おすすめされていた、「楽々 ERD」 レッスンを早速購入しました。
実装するときはエンドポイントを意識する
これも初学者のうちは書き出したほうがよいものだそうです。
やりたいこと、HTTP 動詞、URI パターン、Controller#action を書き出した表です。
エンドポイントというのは、URL の全部のことを言うそうです。
実装したいことを実現するには、どんな HTTP メソッドで、どんな URL パターンなのかを意識することが、とてもとても大事なのです。
最後に
どれも中途半端な理解で、学習を進めていたな、と反省しました。
実装するときは、目的とその過程を書き出して、結果をブラウザの開発者ツールで確認することが大事なのですね。
読んでくださった、ありがとうございます。