Decorator Helper 違い
Helperに書かれたメソッドをDecoratorに切り出そうとして、「引数どうするんだっけ」と思った。
Helperだけ、Decoratorだけ0-1で書くときはそれほど迷わないことでも、リファクタリングなど2つ同時に作業するとき意外と迷う。
改めてまとめてみた。
読んだもの
tech.misoca.jp qiita.com izumin.hateblo.jp
学んだこと
Helperとは
ViewをよりシンプルにDRYに書くためのモジュール
View以外もhelpできるが、基本的にはViewをhelpする(ViewHelperと言ったりする)
rails g controllerを実施した際に作成される
Helperの例
module MembersHelper # 会員のフルネームを取得する def member_full_name(member) member.first_name + ' ' + member.last_name end end
Decoratorとは
Viewと対応するModelごとに作れる
- モデルの属性にアクセスする際に変数を介する必要がない
Controllerで宣言されたインスタンス変数すべてにdecorateメソッドを適用する
Decoratorの例
moduleMemberDecorator # 会員のフルネームを取得する def full_name first_name + ' ' + last_name end end