scopeを使ってモデルを拡張
適応バージョン
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.2
- 4.1.8
- 4.2.1
- 4.2.7
- 4.2.9
- 5.0.0.1
- 5.1.7
- 5.2.3
- 6.0.2.1
- 7.0.0
説明
モジュールやブロックメソッドを引数に与えてモデルをscopeで拡張
返されたオブジェクトをさらに拡張することもできる
使い方
モデル.extending(モジュール.., ブロック引数)
例
モジュール
module Pagination
def page(number)
# pagination code goes here
end
end
scope = Model.all.extending(Pagination)
scope.page(params[:page])
ブロック
module Pagination
def page(number)
# pagination code goes here
end
end
scope = Model.all.extending do
def page(number)
# pagination code goes here
end
end
scope.page(params[:page])