Posted at

Railsにおける命名規則

More than 3 years have passed since last update.


目的

Railsのコントローラとかモデルをrails generateコマンドで生成するときに、特に複数単語のときにキャメル、スネークのどちらがいいのかなどに困ったので、まとめておく。

参考URL忘れた。


コントローラ


単一単語の場合

名称

コントローラ名
items

コントローラクラス名
ItemsController

ファイル名
items_controller.rb


複数の単語の場合

名称

コントローラ名
sales_point

コントローラクラス名
SalesPointController

ファイル名
sales_point_controller.rb


詳細



  • rails generateコマンドには、キャメルケースでもスネークケースでもどちらでも良い

    rails g controller sales_point
    
    rails g controller SalesPoint



モデル


単一単語の場合

名称

解説

モデル名
user

モデルクラス名
User
先頭大文字・単数形

ファイル名
user.rb
先頭小文字・単数形

テーブル名
users
先頭小文字・複数形


複数単語の場合

名称

解説

モデル名
cancel reason

モデルクラス名
CancelReason
先頭大文字・キャメル・単数形

ファイル名
cancel_reason.rb
先頭小文字・スネーク・単数形

テーブル名
cancel_reasons
先頭小文字・スネーク・複数形


generation構文

rails g model <model name> <column name>:<type> <column name>:<type> ...

例)
$ rails g model CancelReason user_id:integer reason_id:integer memo:text
invoke active_record
create db/migrate/20150908052600_create_cancel_reasons.rb
create app/models/cancel_reason.rb
invoke rspec
create spec/models/cancel_reason_spec.rb