レールアプリケーションでこれらの非常に長いルートをどのように短くすることができますか?レールルートを短縮する
# routes.rb
resources :courses do
resources :sections do
resources :lessons do
resources :sub_lessons
end
end
end
レールアプリケーションでこれらの非常に長いルートをどのように短くすることができますか?レールルートを短縮する
# routes.rb
resources :courses do
resources :sections do
resources :lessons do
resources :sub_lessons
end
end
end
レールoficial guidesに従うことをお勧めします。 1レベル以上深くリソースを入れ子にするのは避けることをお勧めします。つまり、このレベルの入れ子が本当に必要な場合は、shallow
オプションを使用できます。少なくともあなたのルートはよりきれいになります。
深いネストを避けるための1つの方法は、親の下にスコープされたコレクションアクションを生成して、階層の感覚を得ることですが、ネストしないようにすることですメンバーの行動。
がresources :courses, shallow: true do resources :sections, shallow: true do resources :lessons, shallow: true do resources :sub_lessons end end end
ちょうどこの少しで遊んでとに
rake routes
を使用します。言い換えれば、唯一のユニークなリソースを識別するための最小限の情報でルートを構築するために
あなたはこのような何かを試みることができますあなたのルートがどのように見えるかを見てください。
しかし、あなた自身に尋ねるべきことは、たとえば、セクションの下にレッスンをルーティングする必要があるかどうかです。そして、特定のアクションであなたはセクションのコースではなく、に基づいて授業を制限する必要があれば、すべては、たとえば、あなたはどのようなアクションに必要な範囲に依存
resources :courses do
resources :sections
end
resources :lessons do
resources :sub_lessons
end
:、それらを分割するようなもの、その方が良いかもしれあなたはパラメータとして渡されたコースIDだけを必要とします。