1

Rails 3 でのルーティングのしくみに関するリソースを読みましたが、いくつかの問題が発生しています。

私のアプリにはブログがあり、私のroutes.rbには以下が含まれています:

  resources :blogs
  root :to => "home#index"

「ブログ」を含む URL は正常に機能します。

しかし、私がやりたいのは、URL に「ブログ」を含めることです。具体的には、/blog/:id (ショー用) と/blog (インデックス用) です。

次の行を追加すると:

match 'blog' => 'blogs#index'

その後、/blog はインデックスを表示しますが、アクション URL が /blog/:id から /blog.:id に変更されると、ブログ編集フォームが壊れます。

ブログの代わりにブログを使用し、ブログのインデックスを /blog に置く方法についてのアイデアはありますか? 私はかなりのことを試しました(resource :blog、およびresources :blogs, :as => 'blog'など)が、どこにも行きません。表示、編集、破棄、およびインデックスの各ルートを手動で定義せずにこれを行う方法があると仮定します。

4

2 に答える 2

4

:path オプションを使用する必要があります

resources :blogs, :path => 'blog'
于 2010-11-09T14:21:21.770 に答える
0

行を削除し、match行を次のように変更しますresouces

resources :blogs, :path => 'blog'

チェック: http://edgeguides.rubyonrails.org/routing.html#translated-paths

于 2010-11-09T14:27:45.567 に答える