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

7 ответов


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

конфигурации.action_view.debug_rjs = true

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

в разделе "библиотека jQuery: новый дефолта" rubyonrails.org дополнительные сведения об обновлении http://weblog.rubyonrails.org/2011/4/21/jquery-new-default


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

config.action_view.debug_rjs = true

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

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


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


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

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


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


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

что было:

units.xml.rxml

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

units.xml.builder

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


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