2013-06-13 23 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

这实际上是我需要的,非常感谢! –