1

私はこれを正しく行っているように感じますが、明らかにそうではありません。

コントローラにインデックス、表示、新規、更新、編集などのアクションを含むRESTfulリソースの投稿があります。ルートでは、私は持っています

resources :posts

'/posts'ではなくURL'/archive'でインデックスアクションが発生するようにしたかった

そこで、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_pathposts_pathカスタムマッチャーに基づいてメソッドが動的に変更されることはありません。いつでも実行rake routesして、サイトのルートのリストを表示できます。

于 2013-02-22T22:07:17.757 に答える