7

After upgrading to Rails 3.1.0 and following David Rice's instructions, all of my controllers strangely can't find their views anymore.

# 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

Of course, the view is there (/app/views/units/index.html.erb; it was working before the upgrade). I feel this is a stupid error, what am I missing here?

4

7 に答える 7

4

development.rb で次の行を削除するのを忘れたようです:

config.action_view.debug_rjs = true

Rail Javascript を使用しない場合は、これを削除するかコメントアウトする必要があります。

アップグレードの詳細については、rubyonrails.org の「jQuery: New Default」を参照して ください http://weblog.rubyonrails.org/2011/4/21/jquery-new-default

于 2011-09-07T19:07:21.240 に答える
2

トムが言ったように、私はもともと削除するのを忘れていました

config.action_view.debug_rjs = true

/config/environments/development.rb、しかし、私が質問を投稿した時点で、私はすでにそれを行っていました.

ただし(非常にばかげています)、構成パラメーターを変更した後、サーバーを起動する必要がありました。構成設定を変更したら、サーバーを再起動してください。

于 2011-09-07T19:39:14.327 に答える
0

同じエラーが発生しましたが、理由は異なります。キュウリのテストを実行したときに、RAILS_ENVを開発に設定しました。

export RAILS_ENV= またはexport RAILS_ENV=test問題を修正しました。

于 2012-03-28T17:27:30.137 に答える
0

Railsはコントローラーを生成しますウェルカムインデックスはコントローラーを生成します、これがコントローラーを生成する最も簡単な方法だと思います

于 2013-03-16T15:55:45.280 に答える
0

Rails v1 以降の古いアプリをアップグレードする場合、.rxml という名前の xml テンプレートを使用している可能性があります。これは Rails 3.1 (3.0 ではサポートされていた) ではサポートされなくなったため、名前を .builder に変更する必要があります。

何だった:

units.xml.rxml

次の名前に変更する必要があります。

units.xml.builder

これは、XML ビルダーを使用するすべてのテンプレートに影響します。例: RSS、KML など。

于 2013-08-23T02:39:59.880 に答える
0

一部のテンプレートの名前.rhtml.erb.html

于 2014-04-01T08:55:59.697 に答える
0

ビューは、haml ではなく erb として保存されますか? 闇に突き刺すだけ…

于 2011-09-04T13:52:21.507 に答える