0

私は 2 つのコントローラーを持っていfooますbar

bar#dobardobar.js.erbのacceptヘッダーで直接呼び出されたときに正しくレンダリングされる対応するファイルがあります

*/*;q=0.5, text/javascript, application/javascript, application/ecmascript, application/x-ecmascript

foo#dofooコマンドで終了しrender :action => '/bar/dobar'ます。これにより、次のエラー メッセージが表示されます。

ActionView::MissingTemplate (Missing template foo/bar/action, /application/bar/action with {:locale=>[:en], :formats=>[:js, "application/ecmascript", "application/x-ecmascript", :html, :text,
 :js, :css, :ics, :csv, :png, :jpeg, :gif, :bmp, :tiff, :mpeg, :xml, :rss, :atom, :yaml, :multipart_form, :url_encoded_form, :json, :pdf, :zip], :handlers=>[:erb, :builder, :coffee]}. 
Searched in:
  * "/Developer/Workspace/MyProj/app/views"
  * "/Users/bdares/.rvm/gems/ruby-1.9.3-p194/gems/twitter-bootstrap-rails-2.1.0/app/views"
):
  app/controllers/foo_controller.rb:16:in `dofoo'

私も試しました:

  • render :action => '/bar/dobar', :format => [:js]
  • render :action => 'bar/dobar'
  • render :template => '/bar/dobar', :format => [:js]

どうしたの?

4

1 に答える 1

0

アクションではなくテンプレートを呼び出すだけの場合は、これを試してください。

render :template => 'bar/dobar', :format => [:js]
于 2012-07-12T05:41:03.413 に答える