decoratorの導入
今回はfirst_nameとlast_nameを用いて、フルネームを表記したいため、
full_nameを定義していく。
<decoratorとは>
・機能を少し付け加えたい場合や、装飾を少し加えたい場合に用いる。
→全てモデルに書いてしまうとファットになってしまう。
→decoratorを用いる。
・既存の関数やクラスの中身には触れず、外側から機能を追加、
書き換えたりすることができる。
<decorator導入の流れ>
①draperをインストール
♡Gemfileに
を記載し、bundle installする。
♡rails generate draper:install をすると、Draperのインストールができる。
③decoratorのファイルの作成
rails generate decorator Userをすることで、
app/assets/decorator下に、user_decorator.rbというファイルが作成される。
④user_decorator.rbにメソッドを作成
delegate_allはファイルを作成した際に既に記入された状態。
viewにフルネームを表記したいため、full_nameのメソッドを作る。
表記したい内容は、last_nameとfirst_nameを合わせたものであり、
真ん中に半角スペースを空けることで、姓と名の間を少し空けることができる。
object.last_name + ' ' + object.first_nameと記載することもできるが、
記述量として望ましくないそう。
⑤viewに埋め込む
とし、decorateも記入する必要がある。