2011-07-24 56 views
1

我正在使用Ruby on Rails 3.0.9和jQuery 1.6.2。我想從不顯示當前視圖文件中的文件夾中「渲染操作文件」。呈現當前視圖文件夾之外的動作

在我articles_controller文件我有:

respond_to do |format| 
    format.html { 
    # ... 
    } 
    format.js { 
    render :action => 'shared/article.js.erb' # Note the 'shared' folder 
    } 
end 

從文章視圖製作的AJAX HTTP請求(視圖是show.html.erb文件,它位於views/articles文件夾中)我得到以下錯誤:

ActionView::MissingTemplate (Missing template articles/article with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>[:js, :html], :locale=>[:en, :en]}... 

我該如何解決這個問題?

日誌文件如下:

Started GET "/articles/2/article" for 127.0.0.1 at 2011-07-24 13:05:16 +0200 
    Processing by ArticlesController#article as JS 

ActionView::MissingTemplate (Missing template ActionView::MissingTemplate (Missing template articles/article with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>[:js, :html], :locale=>[:en, :en]}... 

回答

1

On Rails的3,這應該工作:

render 'shared/article' 

如果沒有,你可以明確的:

render :template => 'shared/article' 

更多關於這個在Rails Guides渲染章節。

+0

在'format.js {...}'中使用yuor代碼我得到了與'Missing template articles/artilcle'相關的問題中寫入的錯誤。 – Backo

+0

刪除respond_to並僅保留渲染,看起來像您的ajax請求沒有設置正確的接受頭文件。將您的請求日誌添加到您的問題將會有所幫助。 –

+0

我需要處理HTML和JS請求。 – Backo

相關問題