LoginSignup
352
360

More than 5 years have passed since last update.

Railsにおける命名規則

Posted at

目的

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
352
360
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
352
360