1

是否可以将一个控制器视图用作另一个控制器视图的部分视图...

在我的场景中,我的控制器有一个动作方法索引,另一个控制器有一个动作方法索引,如下所示。

第一个控制器:

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

在视图中,我试图访问第二个控制器视图中的第一个控制器视图,如下所示,但出现此错误:

<%= 渲染 :partial => 'template_items/index', :locals => {:index=>@template_items} %>

和:

缺少 {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]} 的部分 template_items/index。在以下位置搜索:*“/home/murali/April22 ROR App/app/views”*“/var/lib/gems/1.9.1/gems/twitter-bootswatch-rails-helpers-2.3.1/app/views”

我该如何解决这个问题?

4

3 回答 3

2

该错误清楚地表明您没有_indexpartial in app/views/template_items

于 2013-04-26T07:35:59.833 回答
1

创建一个名为template_items/_index.html.erb并在其中写入的文件:

<%= render :file => 'template_items/index.html.erb' %>

现在使用:

<%= render :partial => 'template_items/index', :locals => {:index=>@template_items} %>

它应该工作。

于 2013-04-26T07:30:48.947 回答
0

实际上,partials 保存为 _index.html.erb,并且在您的 views/template_items 它是index.html.erb,所以它说 partial 丢失了。

于 2013-04-26T07:42:17.690 回答