controller で html を書くのはあり?

controller で

def show
  # 表示用のHTMLを生成する。
  @body = "<div>.....</div>"
end

view で

<%= @body %>

と済ませるのは邪道なんだろうか!?即時反映だし html 作るのも簡単だからわざわざ view でゴリゴリしなくても controller でループをグルグル回しながら html を作っていく方が楽なのよねぇ・・・。定石ってどういうんだろか。