2013-06-13 33 views
3

我有一個TasksController和一個SubtasksController。在從SubtasksController行動給定的時刻,我想:Rails:渲染模板尋找錯誤的部分

# app/controllers/tasks_controllers.rb 
render 'tasks/index' # Or: render template: 'tasks/index' 

當該行動是從,雖然觀點稱作,似乎軌道試圖使錯誤的部分:

ActionView::Template::Error (Missing partial subtasks/tasks, private_area/tasks, application/tasks with {:locale=>[:ca, :es], :formats=>[:js, :html], :handlers=>[:erb, :builder, :slim, :jbuilder, :coffee, :haml]}. Searched in: 
    * "/Users/****/app/views" 

我真的不明白這裏發生了什麼,有什麼想法?

+0

嘗試'渲染'/任務/索引',它有幫助嗎? – Bjoernsen

+0

我試過已經:(同樣的結果。@Bjoernsen –

+0

看到這個http://stackoverflow.com/questions/6051776/rails-3-render-action-from-another-controller問題 –

回答

6

當您渲染另一個控制器操作時,顯示的頁面將在調用控制器視圖中查找其內部的任何部分。

您可以通過顯式聲明頁面內部分的路徑來解決這個問題,以便即使從另一個控制器調用它時,它總是會在正確的位置查找。

# tasks/index page 
<%= render 'tasks/some_partial' %> 

現在不管哪個控制器呈現此頁面它總是會在tasks它的諧音。

+1

這實際上是我需要的,非常感謝! –