Предупреждения об устаревании 'layout_by_resource' в Devise 2.0 при запуске спецификаций

Я использую Rails 3.2.0 и Devise 2.0.0.rc2. Когда я запускаю свои спецификации, я получаю предупреждение об устаревании, которое я не вижу, когда обычно запустите мой сервер Rails.

$ rake
.DEPRECATION WARNING: Layout found at "devise" for
 DeviseController but parent controller set layout to :layout_by_resource.
 Please explicitly set your layout to "devise" or
 set it to nil to force a dynamic lookup.   
(called from realtime at
 /Users/foo/.rbenv/versions/1.9.2-p290/lib/ruby/1.9.1/benchmark.rb:310)

Мой /app/controllers/application_controller.rb выглядит так:

class ApplicationController < ActionController::Base
  protect_from_forgery

  layout :layout_by_resource

  protected

  def layout_by_resource
    if devise_controller?
      if resource_name == :agent && action_name == 'new'
        nil
      elsif resource_name == :admin && action_name == 'new'
        nil
      else
        'devise'
      end
    else
      'application'
    end
  end

end

Есть идеи, почему я вижу эти предупреждения?

7
задан mshafrir 24 January 2012 в 19:28
поделиться