Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 以正确的方式显示顶部立柱_Ruby On Rails - Fatal编程技术网

Ruby on rails 以正确的方式显示顶部立柱

Ruby on rails 以正确的方式显示顶部立柱,ruby-on-rails,Ruby On Rails,我在我的posts\u控制器中有一个方法来显示大多数查看的帖子 def top @posts = Post.all.order("post.views DESC").page(params[:page]).per(10) end 在我的路线上 resources :posts do collection do get :top end end 问题是:当我转到/posts/top时,我出现了一个错误:缺少模板posts/top,applic

我在我的posts\u控制器中有一个方法来显示大多数查看的帖子

  def top
    @posts = Post.all.order("post.views DESC").page(params[:page]).per(10)
  end
在我的路线上

  resources :posts do
    collection do
      get :top
    end
  end

问题是:当我转到/posts/top时,我出现了一个错误:
缺少模板posts/top,application/top
我是否需要为我的每个方法编写视图文件(top不是唯一的方法),或者我可以以某种方式在索引文件中显示它们,而不需要重复代码

只需在方法末尾呈现
索引
模板即可:

def top
  @posts = Post.all.order("post.views DESC").page(params[:page]).per(10)
  render :index
end

我建议您仔细看看rails。你将得到你的答案,以及背后的概念。下面是doc的片段

在大多数情况下,ActionController::Base#render方法完成了渲染应用程序内容以供浏览器使用的繁重工作。有多种方法可以自定义渲染的行为您可以渲染Rails模板、特定模板、文件或内联代码的默认视图,也可以不渲染任何内容。您可以呈现文本、JSON或XML。您还可以指定呈现响应的内容类型或HTTP状态