在当前视图文件夹外渲染操作

时间:2011-07-24 04:49:38

标签: ruby-on-rails ruby ruby-on-rails-3 view directory

我正在使用Ruby on Rails 3.0.9和jQuery 1.6.2。我想从不在当前使用\显示的视图文件中的文件夹中“渲染一个动作文件”。

在我的articles_controller文件中,我有:

respond_to do |format|
  format.html {
    # ...
  }
  format.js {
    render :action => 'shared/article.js.erb' # Note the 'shared' folder
  }
end

从文章视图中制作 AJAX HTTP请求(该视图是show.html.erb文件,位于{ {1}}文件夹)我收到以下错误:

views/articles

我该如何解决?

日志文件如下:

ActionView::MissingTemplate (Missing template articles/article with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>[:js, :html], :locale=>[:en, :en]}...

1 个答案:

答案 0 :(得分:1)

在Rails 3上,这应该有效:

render 'shared/article'

如果没有,你可以明确:

render :template => 'shared/article'

有关此问题的更多信息,请参阅Rails Guides的渲染章节。