私はRuby on Rails 3.0.7を使用していますが、 "not regular" RoRで動作するようにネストされたリソースルーティングを設定しようとしています。"普通ではない" Ruby on Railsの方法で入れ子になったリソースのためのルータ
<my_site>/articles/1/categories
<my_site>/articles/2/categories
...
私は何を希望することにより、カテゴリのnew
、edit
とshow
コントローラのアクションにアクセスすることです:私は、次のURLを参照することができるように、私は
resources :articles do
resources :categories, :only => [:index], :controller => 'articles/categories' # The related controller is Articles::CategoriesController
end
を持っている私のroutes.rb
ファイルで
前述のネストされたリソース(つまり、Articles::CategoriesController
)に使用されているコントローラと同じarticles/categories
コントローラを使用して、これらのURLにアクセスすることによって:
どうすればいいですか?どのようにルータをコーディングする必要がありますか?
たぶん私はこの
resources :articles do
collection do
# match something here for the Articles::CategoriesController...
end
resources :categories, :only => [:index], :controller => 'articles/categories'
end
のようにルータcollection
メソッドを使用して何かを行うことができますが、私はそれを行う方法がわかりません。
あなたはほしいですか/articles/2 :/articles/categories/new。私はそれがtypoであることを確認するよう頼んでいます:) –
felix
@Felix - '/articles/categories/new'パスにアクセスし、' Articles :: CategoriesControllerの '' new'アクションです。 –
Backo
おそらく/articles/categories/newの名前空間を追加できます。ここで説明しています。http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing –
felix