gem draperを使用して、decoratorを導入する方法
目的
gem draperを使用して、decoratorを導入する。 このGemを導入するときに詰まった部分をメモとして残す。
開発環境
参考資料
Decoratorの役割とDraperについて Draperの使い方 まとめ Rails Viewの表示のためにDecoratorを用意してHelperとModelを助ける
導入手順
①gem 'draper'をインストールする。
まずはGemをインストールします。
gem 'draper'
以下の2行をターミナルに入力すれば、draperを使うことができます。
$ bundle install $ rails generate draper:install
②デコレーターを作成
まず、app/decorators/user_decorator.rb を作成します。
$ rails generate decorator User
今回はフルネームを呼び出すメソッドを作っていきます。 last_nameとfirst_nameは、事前にUserモデルのカラムに追加してあります。
class UserDecorator < Draper::Decorator delegate_all def full_name "#{object.last_name} #{object.first_name}" end end
③ 作ったメソッドをViewファイルで呼び出す。
現在ログインしているユーザー(current_user)をフルネームで表示します。
#メソッドを使いたいViewファイルにて <%= current_user.decorate.full_name %>
以上の手順でgem 'draper'を使って、decoratorを導入できました。 この流れでエラーが出てしまった場合は、参考資料など見ながら解決してみてください。