1

現在、私はこのようなものを持っています:

  resources :books do
    collection do
      get 'search'
    end
  end

私のコントローラー名も「本」で、その中に「検索」というアクションメソッドがあります

その「検索を取得」部分も、ネストされたリソースのようなリソースにしたいと思います...しかし、これが生成する現在のルートを使用している他の人々のコードを壊したくないので、それを更新する必要があります受動的な方法!

4

2 に答える 2

1
resources :books do
  collection do
    get 'search'
  end
  resources :searches
end

...私があなたを正しく理解しているなら、それはあなたが望むものでなければなりません。他のルートを壊すことはなく、新しいルートを追加するだけです。


実行rake routesして、必要なすべてのルートがあることを確認します。

于 2013-03-07T16:19:59.730 に答える
0

次のようにネストする浅いルートを使用します。

resources :books , :shallow => true do
  resources :searches
end

これで、次のルートが得られます。

/books/1 => books_path(1)
/books/1/searches => books_searches_index_path(1)
/searches/2 => searches_path(2)

同様に、次のように定義されたルートに対して個別のルーティングを取得できます。

get '(:books)/searches', :to => 'books#index'
于 2013-03-07T16:43:31.080 に答える