2012-07-06 78 views
11

我剛剛將我的Rails站點從Rails 2升級到Rails 3.2。爲什麼`layout nil`無法正常工作?

在我的舊控制器我有:

class Foo::BarController < ApplicationController 
    layout nil 
    ... 
end 

但是現在我升級到Rails 3看來我需要更改到:

layout false 

的文檔上Rails Guides聲稱layout nil應工作正常:

佈局聲明級聯向下級別CHY ...

類OldPostsController < SpecialPostsController
佈局無

我在Gemfile.lock的

創業板下面的相關寶石

actionpack (3.2.6) 
    activemodel (= 3.2.6) 
    activesupport (= 3.2.6) 
    builder (~> 3.0.0) 
    erubis (~> 2.7.0) 
builder (3.0.0) 
erubis (2.7.0) 
haml (3.1.6) 

jquery-rails (2.0.2) 
    railties (>= 3.2.0, < 5.0) 

這是一個記錄的變化某處,或者它是一個相關的寶寶猴子補丁嗎?

+0

'原因==被更改爲===? – 2012-07-06 02:49:36

+0

可能......但在哪裏? – 2012-07-06 02:51:50

回答

20

The API解釋它是這樣的:

如果指定的佈局是:

  • 的字符串:字符串是模板名稱
  • 一個符號:調用由符號,指定的方法,將返回模板名稱
  • false:沒有佈局
  • true:raise an ArgumentError
  • nil:具有繼承

力默認佈局行爲,所以nil含義從沒有佈局修改爲「傳承力量默認佈局行爲」。看來Rails指南中的解釋不正確。

+5

jeez ...這個導軌3升級是不會停止服用的禮物 – 2012-07-06 03:02:42

+0

我懷疑這是變化https://github.com/rails/rails/commit/5ad52152117ecda1166359c499bcd03ae6be3365將鳴叫josevalim – 2012-07-06 03:07:10

+0

是的,看起來就是那個。祝你好運,升級;-) – Mischa 2012-07-06 03:15:23

相關問題