rubyでは require
を使ってプログラムを読み込ませます。
でも、毎回 require を書くのはめんどくさいですよね。
users_controller.rb
require "app/models/user.rb"
require "app/controllers/application_controller.rb"
class UsersController < ApplicationController
def index
@user = User.all
end
...
Rails には、このめんどくささを解消する「プログラムの自動読み込み」という機能があります。
自動読み込みの概要
- ファイルをクラス(またはモジュール)単位で分ける
- クラスの名前と、ファイル名を対応させる
- すると、Railsがクラス名からファイル名を推測し、勝手に require してくれる
命名規則
クラス名の先頭の大文字を小文字にする
user.rb
class User
...
end
命名規則
クラス名の途中に大文字があったら、小文字に変えてアンダーバーで区切る
application_controller.rb
class ApplicationController
...
end
命名規則
クラス(またはモジュール)がネストされているなら、ネストに応じたフォルダにファイルを置く。
sample/users_controller.rb
module Sample
class UsersController
...
end
end
まとめ
- Rails には「自動読み込み」という、勝手に
require
してくれる機能がある。 - この機能を利用するため、Railsでは、クラス(またはモジュール)ごとにファイルを分け、クラス名にちなんだファイル名をつける必要がある。