2009-06-18 153 views
30

我有QuestionController 我现在有AnotherQuestionController,应该使用模板和部分在app/views/question/ 中呈现这是可能的吗?看起来应该是这样。一个控制器使用另一个控制器的视图呈现

我已经试过

render :template => "question/answer" 

但answer.html.erb包括谐音,我得到这样的错误

“缺少鉴于路径模板another_question/_my_partial.erb”

那么,有一种方法可以告诉Rails“将AnotherQuestionController当作其QuestionController,并在app/views/question中寻找视图和部分”? 或者我将不得不创建app/views/another_question - 这将导致重复(这不能是Rails的方式)。

感谢

回答

44

模板渲染应实际工作

render :template => "question/answer" 

您遇到的问题是找错了地方的谐音。修复很简单,只需在任何共享模板中使您的偏好成为绝对的。例如,问题/ answer.html.erb应该有

<%= render :partial => 'question/some_partial' %> 

而不是通常的

<%= render :partial => 'some_partial' %> 
+0

这不起作用恐怕 – Paul 2009-06-19 11:50:31

+0

哦,对了。在第二次检查中,我发现了实际问题 – 2009-06-19 14:21:20

+0

在rails 3.x中执行此操作的任何新方法?我在问,因为我使用了一个gem,让帮助者自动在视图中进行渲染(否则你的解决方案会起作用)。我宁可不覆盖那个宝石的助手。谢谢! – montrealmike 2011-10-28 15:22:10

12

你可以实现它:

render 'question/answer' 
相关问题