我有兩個控制器,foo
和bar
。render:action raise ActionView :: MissingTemplate
bar#dobar
具有相應dobar.js.erb
文件,它正確呈現當與
*/*;q=0.5, text/javascript, application/javascript, application/ecmascript, application/x-ecmascript
foo#dofoo
完成當對命令render :action => '/bar/dobar'
Accept首部直接調用。這將導致以下錯誤消息:
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]
有什麼不對?
如果你只是想使用模板那就不叫渲染:行動改爲調用呈現:模板直接。我希望這會解決你的問題。 – Arun 2012-07-12 05:39:25