Rails 3 从另一个控制器渲染动作 [英] Rails 3 render action from another controller

查看:35
本文介绍了Rails 3 从另一个控制器渲染动作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要渲染另一个控制器动作 <%= render "controller/index" %>我收到这个错误

I need to render another controller action <%= render "controller/index" %> and i get this error

缺少带有 {:formats=>[:html], :locale=>[:en, :en], :handlers=>[:rjs, :rhtml, :rxml, :erb, :builder 的部分控制器/索引]} 在视图路径/path_to/app/views"

Missing partial controller/index with {:formats=>[:html], :locale=>[:en, :en], :handlers=>[:rjs, :rhtml, :rxml, :erb, :builder]} in view paths "/path_to/app/views"

如何将另一个控制器操作呈现到视图中,但不向客户端发送重定向?我试过了

how can i render another controller action into a view but without sending an redirect to the client ? I've tried

<%=render :action => "index", :controller=>"controller" %>

但似乎不起作用.

推荐答案

尝试渲染模板:

<%= render :template => "controller/index" %> 

或文件:

<%= render :template => "#{Rails.root}/app/controllers/controller/index" %> 

而且我认为你应该通过控制器渲染它,这样更方便:

And I believe you should render it through controller, as far as it is more convenient:

def your_action
  ...
  render :action => :index
end

这篇关于Rails 3 从另一个控制器渲染动作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆