読者です 読者をやめる 読者になる 読者になる

Rails3.1でlayoutの指定方法

Railsでアクションごとにレイアウトを指定したいときがあると思います。
コントローラに書きます。ここでは、newアクションとcreateアクションに対してのみtestレイアウトを適用します。

layout "test", only: [:new, :create]

という上の書き方でうまくいくのですが、この方法を使うとほかのアクションに大してはレイアウトの適用がうまくいきませんでした。そこで、こんな感じに書き換えました。

def new
  render :layout => 'test'
end

def create
  render :layout => 'test'
end

これでうまくいきます。ただ、一番目のやり方でなんでうまくいかないのかがわからないので、原因わかる方いたら教えてほしいです><