2017-03-04 7 views
0

次のシナリオ:あなたが見ることができるようにRailsのルーティング:取り扱い複数のネストされたリソース

resources :first do 
     resources :second do 
      resources :third do 
       resources :fourth do 
        resources :fifth 
       end 
      end 
     end 
     resources :third do 
      resources :fourth do 
       resources :fifth 
      end 
     end 
    end 

    resources :second do 
     resources :third do 
      resources :fourth do 
       resources :fifth 
      end 
     end 
    end 

    resources :third do 
     resources :fourth do 
      resources :fifth 
     end 
    end 

    resources :fourth do 
     resources :fifth 
    end 

は、私は、ネストされたリソースの複数のレベルを使用しています。私がこれを設定する方法は、かなり感じる反復しかし。

これをよりクリーンにする方法はありますか?

+1

私はあなたが達成しようとしているのか分からないが、私は非常にあなたのルーティング方式を再考するためにあなたを助言します。ネストされたリソースの5つのレベルを持つことは、非常に煩雑になります。私は[Jamis Buckの短い論文](http://weblog.jamisbuck.org/2007/2/5/nesting-resources)でネストされたリソースについて議論しました。 – Mark

+0

@マークあなたは正しいです。理論的に経路の重複を防ぐ方法があるかどうかを知りたかっただけです。私は4つまたは5つのレベルのリソースを入れ子にするつもりはない:) – jonhue

答えて

2

あなたは例えば、あなたのルートで重複を避けるためにrouting concernsを使用することができます。:

concern: :my_concern 
    resources :fourth do 
    resources :fifth 
    end 
end 

resources :third, concerns: :my_concern 
関連する問題