ActionView::MissingTemplate после обновления Rails 3.1

После обновления до Rails 3.1.0 и выполнения Инструкции Дэвида Райса, все мои контроллеры, как ни странно, больше не могут найти свои представления.

# rails s #

Started GET "/units" for 127.0.0.1 at 2011-09-04 07:52:23 -0400
  Unit Load (0.1ms)  SELECT "units".* FROM "units" 

ActionView::MissingTemplate (Missing template units/index, application/index with {:handlers=>[:erb, :builder], :formats=>[:html], :locale=>[:en, :en]}. Searched in:
):
  app/controllers/units_controller.rb:9:in `index'

units_controller.rb:

  # GET /units
  # GET /units.xml
  def index
    @units = Unit.all

    respond_to do |format|
      format.html # index.html.erb
      format.xml  { render :xml => @units }
    end
  end

Конечно, вид есть (/app/views/units/index.html.erb; до обновления работал). Я чувствую, что это глупая ошибка, что мне здесь не хватает?


person Jonathan Allard    schedule 04.09.2011    source источник
comment
Я не получаю эту же ошибку на локальном хосте, но я получаю ее на Heroku по какой-то непостижимой причине. Кто-нибудь еще это видел?   -  person Olivier Lacan    schedule 20.12.2011


Ответы (7)


Похоже, вы забыли удалить следующую строку в файле development.rb:

config.action_view.debug_rjs = правда

Это следует удалить или закомментировать, если не используется Rail Javascript.

Дополнительную информацию об обновлении http://weblog.rubyonrails.org/2011/4/21/jquery-new-default

person Tom de Vries    schedule 07.09.2011

Как сказал Том, изначально я забыл удалить

config.action_view.debug_rjs = true

в /config/environments/development.rb, но в то время, когда я разместил вопрос, я уже это сделал.

Однако дело (довольно глупое) в том, что мне пришлось перезапускать сервер после изменения параметра config. Перезапустите свои серверы, когда вы измените настройки конфигурации, дети!

person Jonathan Allard    schedule 07.09.2011

Просмотры сохраняются как erb, а не haml? Просто ковырял в темноте...

person snowangel    schedule 04.09.2011

У меня такая же ошибка, но по другой причине. У меня был настроен RAILS_ENV для разработки, когда я запускал тесты на огурцы.

export RAILS_ENV= или export RAILS_ENV=test устранили проблему.

person Ashley Raiteri    schedule 28.03.2012

rails generate controller Индекс приветствия сгенерирует контроллер, я думаю, это самый простой способ сгенерировать контроллер

person Buminda    schedule 16.03.2013

Если вы обновляете старое приложение, существовавшее со времен Rails v1, у вас могут быть шаблоны xml с именем .rxml. Это больше не поддерживается в Rails 3.1 (где это было в 3.0), поэтому их нужно переименовать в .builder.

Что было:

units.xml.rxml

Необходимо переименовать в:

units.xml.builder

Это повлияет на все шаблоны, использующие построитель XML. например RSS, KML и т. д.

person Zac    schedule 23.08.2013

Я заметил эту проблему, потому что некоторые из моих шаблонов по-прежнему назывались .rhtml вместо .erb.html.

person robd    schedule 01.04.2014