Rails 5 で自作のモジュールを読み込む方法

Rails 5 で自分で作ったモジュールを使いたい

独自のロジックを用いる場合など、Rails 5で自前のモジュールを使いたい場合があると思います。その場合、どのようにしたらいいかというお話です。

結論

以下の全てを満たせば OK です。

  1. 命名規則に沿ってモジュールを作る
  2. app/libにそのモジュールを置く
  3. 使用したいコントローラでincludeする

具体例

1. 命名規則に沿ってモジュールを作る

以下の命名規則に従ってモジュールを作ります。

例えば、モジュール名がFooBarの場合、ファイル名はfoo_bar.rbとなります。

こちらのページを参考にしました(感謝)。

2. app/libにそのモジュールを置く

作ったモジュール(ファイル)をapp/libに置きます。階層構造を取る場合は命名規則が少々異なりますので、上掲の記事を参考にして下さい。

3. 使用したいコントローラでincludeする

例えば、hogehoge_controller.rbでそのモジュール(仮にfoo_bar.rbとします)を使いたい場合には以下のようにincludeします。これで当該モジュールが使えるようになりました。

class HogehogeController < ApplicationController
  include FooBar

  def index
  end

  ...
end

補足

Powered by はてなブログ