helper_methodについて
コントローラで認可の設定での authorize(current_site)
ビューで
if current_site.main_images.present?
このように使っていたcurrent_site
は helper_method
として宣言しているからビューでも使えるようになっています。
定義の仕方
def current_site
@current_site ||= Site.first
end
helper_method :current_site
||
演算子は、左から順に評価し、一番最初に真になったものを返す。
つまり
||=
は左辺が存在しない(偽)の場合、右辺の値が代入される。
@current_site
が存在しない場合 Site.first
にが代入されるという事ですね。
これをhelper_method にすることで使い回せているわけです。
最後に
読んでいただいた方、ありがとうございました。