是否可以将一个控制器视图用作另一个控制器视图的局部视图...
在我的场景中,我的控制器有一个动作方法索引和另一个具有动作方法索引的控制器,如下所示。
第一个控制器:
class TemplateItemsController < ApplicationController
def index
@template_items = TemplateItem.order('"TemplateGroup_id"')
respond_to do |format|
format.html # index.html.erb
format.json { render json: @template_items }
end
end
在视图中,我们显示模板项目。
我的第二个控制器如下。
class EncounterController <Applicationcontoller
def index
end
end
在视图中我试图访问第二个控制器视图中的第一个控制器视图,如下所示,但是我收到了这个错误:
&lt;%= render:partial =&gt; 'template_items / index',:locals =&gt; {:index =&gt; @template_items}%&gt;
和
使用{:locale =&gt; [:en],:formats =&gt; [:html],:handlers =&gt; [:erb,:builder,:coffee]}缺少部分template_items / index。搜索:*“/ home / murali / April22 ROR App / app / views”*“/ var / lib / gems / 1.9.1 / gems / twitter-bootswatch-rails-help-2.3.1 / app / views”< / p>
如何解决此问题?
答案 0 :(得分:2)
错误明确表示_index
中没有app/views/template_items
部分。
答案 1 :(得分:1)
创建一个名为template_items/_index.html.erb
的文件并在其中写:
<%= render :file => 'template_items/index.html.erb' %>
现在使用:
<%= render :partial => 'template_items/index', :locals => {:index=>@template_items} %>
它应该有用。
答案 2 :(得分:0)
实际上,部分内容保存为_index.html.erb
,而在您的views / template_items中,部分内容为index.html.erb
,因此它表示部分内容丢失。