1

感觉我做对了,但显然不是。

我有一个安静的资源,帖子,在控制器中有索引、显示、新建、更新、编辑等操作。在路线中,我有

resources :posts

我想让索引操作发生在 URL '/archive' 而不是 '/posts'

所以我在 routes.rb 文件中添加了这一行,在资源之后:

match '/archive', to: "posts#index"

但是当我单击posts_path 的链接时,它仍然会转到/post(尽管如果我将/archive 作为url 输入,它可以工作——虽然不理想)。使困惑。这可能与我安装了friendly_id有关吗?

4

2 回答 2

2
resources :posts, except: [:index]
get 'archive' => 'posts#index', as: :posts
于 2013-02-22T22:07:06.613 回答
2

您需要使用类似match '/archive', :to => 'posts#index', :as => 'archived'. 然后你将有一条新的路线来调音archived_posts_path。该方法posts_path不会根据自定义匹配器动态更改。您可以随时运行rake routes以查看您站点的路线列表。

于 2013-02-22T22:07:17.757 回答