0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Rails】📝 本日のRails学習まとめ

Posted at

📝 本日のRails学習まとめ

本日もRailsについて学習を行いました。
昨日のアプリ再実装を経てRailsの基本理念やMVCについてさらに細かく学習しました。

✅ RailsにおけるDRY(Don't Repeat Yourself)

DRY原則とは?
同じコード・処理を繰り返さず、一か所にまとめて再利用性を高める設計原則です。Railsではこの考え方が強く反映されています。

活用例 使うもの 目的
ビューの共通化 partial(部分テンプレート) 同じHTMLを複数ページで使いまわす
コントローラの共通処理 before_action 重複した処理を1か所にまとめる
複雑な処理の切り出し サービスクラス・ヘルパー・モジュール 処理を分離して見通しよく再利用可能にする

📦 クラスとモジュールの使い分け

目的 使うもの なぜ?
「もの・実体」を作りたい クラス(class インスタンスを作れるから
「機能・処理」をまとめたい モジュール(module 他のクラスに機能として使い回せるから
名前の衝突を避けたい モジュールの中にクラス グループ名で名前を整理できるから

💬 たとえ話で理解する:

クラス = たこ焼き器(たこ焼き=実体を焼く)

モジュール = たこ焼きソース(あとから追加できる便利な味付け)

🧰 Helper・モジュール・サービスクラスの使い分け

用途 特徴
ヘルパー ビュー専用。テンプレート内で使う簡単なメソッド(例:日付の整形など)
モジュール 複数クラス間で共通の処理をまとめる。includeextendで導入
サービスクラス ビジネスロジック(複雑な処理)をモデルやコントローラから分離

🖼️ JSONとレンダリング

render json: @user のように、Railsでは簡単にJSON形式のデータ出力が可能。

非同期通信でよく使われる。

JSONはデータの受け渡しに最適な軽量フォーマット。

🔐 セッションとクッキー

用語 説明
セッション(session) 一時的なデータ保存(サーバーサイド管理)。ログイン情報など
クッキー(cookie) ブラウザ側に保存される小さなデータ。次回アクセス時にも利用できる

セッションの例としてはショッピングサイトならどこでも実装している「買い物かご」がこれにあたる。
クッキーには行動履歴などが含まれていて、クッキーの情報からウェブサイトの広告を表示したりすることもある。

🧠 ORMとSQLの違い

用語 説明
ORM(ActiveRecord) RubyコードでDB操作ができる。SQLを直接書かなくてもOK。例:User.find(1)
SQL データベースと直接やり取りする言語。Railsでも必要に応じて書ける(find_by_sqlなど)

🗂️ SQLの3種類(+1)

分類 略語 目的
定義 DDL テーブルやカラムを作成・削除 CREATE, DROP, ALTER
操作 DML データの挿入・更新・削除 INSERT, UPDATE, DELETE
制御 DCL アクセス権の制御 GRANT, REVOKE
取得 DQL データの検索 SELECT(厳密にはDMLに含めないことも)

🔍 find_by_sqlとは?

ActiveRecordのメソッドで、生のSQLを実行できる。

例:

Tweet.find_by_sql("SELECT * FROM tweets WHERE text LIKE '%Rails%'")

🔚 まとめ

RailsはDRY原則に基づいた構造化を目指すフレームワーク。

ヘルパー、モジュール、サービスクラスなどを適切に使い分けることで、見通しが良く保守しやすいコードになる。

ORMを使えばSQLを直接書かなくても基本操作ができるが、SQLの基礎知識も重要!

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?