0
0

More than 1 year has passed since last update.

Railsの思想

Last updated at Posted at 2021-12-10

COC(Convention over Configuration)

「設定より規約」
「設定がほとんどの場合で共通ならば、その設定をアプリケーションのデフォルトにすべきである」という考えに基づいている。

メリット

  • 他言語のように多くの設定ファイルを書かなくて良い。
  • 共通ルールに則ってエンジニア同士のコミュニケーションがスムーズになる。

命名ルール

データベースのテーブル名はモデルのクラス名の複数形にする。

モデル / クラス |  テーブル / スキーマ
Article       |  articles
LineItem      |  line_items
Deer          |  deers

スキーマのルール

  • 外部キー:カラムはテーブル名の単数形_idにする必要がある。 (例: item_idorder_id)
  • 主キー:デフォルトではidという名前のintegerカラムがテーブルの主キーに使われる(PostgreSQLやMySQLではbigint、SQLiteではinteger)

DRY(Don't Repeat Yourself)

「同じことを繰り返さない」

メリット

  • 変更があったときに何箇所もコード修正をしなくて済むのでメンテナンス性が高まる。

REST(Representational State Transfer)

「すべてのリソースに一意となる識別子(URI)がある。」
「URIを通してリソースを操作する手段を提供する」
という考え方を基盤とする。

概念                               RESTfulなメソッドとURL
記事を投稿する                       POST /articles
記事(ID=1)にコメントを投稿する          POST /articles/1/comments
記事(ID=1)を更新する                 PATCH /articles/1
記事(ID=1)のコメント(ID=1)を更新する    PATCH /articles/1/comments/1
記事(ID=1)を削除する                 DELETE /articles/1
ユーザ(ID=1)のパスワードを更新する       PATCH /users/1/password

RESTの反対はRPC

?の後ろに問い合わせを&でつないで表現する方法。
例:http://example.com/index.php?action=prefecture_list&id=1

参考

パーフェクトRuby on Rails【増補改訂版】

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