ActionView :: MissingTemplate после обновления Rails 3.1 - PullRequest
7 голосов
/ 04 сентября 2011

После обновления до 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; он работал до обновления). Я чувствую, что это глупая ошибка, чего мне здесь не хватает?

Ответы [ 7 ]

4 голосов
/ 07 сентября 2011

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

config.action_view.debug_rjs = true

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

См. "JQuery: Новое значение по умолчанию" на rubyonrails.org для получения дополнительной информации об обновлении http://weblog.rubyonrails.org/2011/4/21/jquery-new-default

.
2 голосов
/ 07 сентября 2011

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

config.action_view.debug_rjs = true

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

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

0 голосов
/ 01 апреля 2014

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

0 голосов
/ 23 августа 2013

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

Что было:

units.xml.rxml

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

units.xml.builder

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

0 голосов
/ 16 марта 2013

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

0 голосов
/ 28 марта 2012

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

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

0 голосов
/ 04 сентября 2011

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

...