viewの条件式を減らす

viewにロジックを書きすぎるな!ってことです。

自戒の意味を込めて書きます。

- if area? && action_name == "show"
  - if citys?
     = render "foo"
  - else
     = render "bar"
- else
  = render "bar"

こういうのがあったとします。

viewにこんだけロジックが積まれるとしんどいので、まとめます。

def foo?
  if area? && action_name == "show"
    if citys?
      true
    end
  end
end
- if doo?
  = render "foo"
- else
  = render "bar"

こんな感じになるかと思います。

viewにロジックが散らばると、同一条件で別の場所で表示するときにまた書かないといけなくなります。

ロジックをviewでガリガリ書くのはダメですね。