tawara's blog

雑記。個人の見解です。

学習するときに気をつけること【27/30 2nd】

こんにちは、たわらです。

本記事は、初学者のつまずきポイントの整理です。

RUNTEQ というプログラミングサークルにて、初学者のつまずきポイントを解説した勉強会があったので、

そのときの情報をまとめています。

勉強会は、こちらの記事がもとになっています。

qiita.com

フォームの理解があいまい

フォームの実態をきちんと理解できていないことが多い、そうです。私もその一人だったです。

・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」 レッスンを早速購入しました。

amzn.to

実装するときはエンドポイントを意識する

これも初学者のうちは書き出したほうがよいものだそうです。

やりたいこと、HTTP 動詞、URI パターン、Controller#action を書き出した表です。

エンドポイントというのは、URL の全部のことを言うそうです。

実装したいことを実現するには、どんな HTTP メソッドで、どんな URL パターンなのかを意識することが、とてもとても大事なのです。

最後に

どれも中途半端な理解で、学習を進めていたな、と反省しました。

実装するときは、目的とその過程を書き出して、結果をブラウザの開発者ツールで確認することが大事なのですね。

読んでくださった、ありがとうございます。