Ruby on Rails 命名慣例整理
Ruby
變數與方法
- 結尾如果是
!
,執行方式和一般方法沒有差別,但通常用!結尾,表示會有「副作用」,例如,這個方法會改變原本的變數值,同時也表示它會有一個相對應不會改變原本變數值的方法。 - 結尾如果是
?
,這個方法經常會回傳表示 true 或 false 的物件。 - 結尾如果是
=
,表示這個方法是指派方法(assignment method),在 assignment method 中,函式中的回傳值會被忽略,而是自動回傳參數的值。
Rails
在 Rails 中會自動將 class 名稱轉成複數的形式到資料庫找相對應的資料表:
Database Table & Model Class
- Database Table: 複數小寫底線 (e.g., book_clubs)。
- Model Class:單數大寫駝峰 (e.g., BookClub)。
Database Columns
- Foreign keys:這些欄位的名稱會以++單數小 寫資料表名稱後面加上
_id (singularized_table_name_id)
++,例如item_id
,order_id
。 - created_at
- updated_at
- lock_version
- type
- (association_name)_type
- (table_name)_count
Rails 命名慣例檔案 @ Google Sheet
Views
以小寫底線單數命名,如果是 partial
的話檔名最前面會加上底線 _
,例如(_form.html.erb
)。
資料來源
- Active Record Basics @ RailsGuides
- Model、View、Controller 三分天下 @ 為你自己學 Ruby on Rails