当我在控制器'A'时,如何渲染控制器'B'的显示视图?

时间:2011-09-11 10:16:15

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

我想从另一个控制器show呈现user的{​​{1}}操作。

这就是我的vanity控制器的样子:

Vanity

按原样,重定向到class VanitiesController < ApplicationController def show if(v = Vanity.find_by_name(params[:vname])) redirect v.vain else # If the vanity name can't be found, render a 404 respond_to do |f| f.html { render :status => :not_found, :file => File.join(Rails.root, "public", "404.html") } f.xml { head :not_found } f.any { head :not_found } end end end end 。但是,我不想重定向,而是想呈现/users/:id/动作。

当我做show时,我收到此消息:

render v.vain

我还尝试了Template is missing Missing partial users/user with {:handlers=>[:erb, :builder, :coffee], :formats=>[:html], :locale=>[:en, :en]}. Searched in: * "/app/views" ,只是为我的render :controller => :users, :action => :show控制器提供了:show操作。

3 个答案:

答案 0 :(得分:3)

render "/controller/action" 

诀窍

答案 1 :(得分:1)

使用此

 render :template => "b/show"

答案 2 :(得分:-1)

您也可以使用

redirect_to:controller =&gt; '',:action =&gt;''

带参数的

: redirect_to:controller =&gt; '',:action =&gt;'',:parameter =&gt; @variable