繁体   English   中英

如何使用一个控制器视图作为Ruby on Rails中另一个控制器的局部视图

[英]How to use one controller view as a partial view for another controller in Ruby on Rails

是否可以使用一个控制器视图作为另一个控制器视图的局部视图...

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

第一控制器:

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

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

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

和:

使用{:locale => [:en],:formats => [:html],:handlers => [:erb,:builder,:coffee]}缺少部分template_items / index。 搜索:*“/ home / murali / April22 ROR应用程序/应用程序/视图”*“/ var / lib / gems / 1.9.1 / gems / twitter-bootswatch-rails-help2.3.1 / app / views”

我该如何解决这个问题?

该错误清楚地表明您在app/views/template_items没有_index partial。

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

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

现在使用:

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

它应该工作。

实际上,partials保存为_index.html.erb ,在views / template_items中它是index.html.erb ,因此它表示partial缺失。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM