デコレーターの導入

Gemfileに

gem 'draper'

を追加してbundle installする。

 

次にrails g draper:installを実行する

rails g draper:installを実行することによってrails g decorator モデル名が使えるようになる。

rails g decorator Userを実行することによってapp/decoratorsにuser_decoratorが作成される。

class UserDecorator < Draper::Decorator

end
class UserDecorator < Draper::Decorator

def full_name
"#{object.last_name} #{object.first_name}"
end

end

デコレーターにfull_nameメソッドを定義する

 

viewで

<% current_user.decorate.full_name %>

を記述することによって実装できる。