[英]How to render partial view of one controller to another controller in 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.