簡體   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