2012-01-12 14 views
2

私はそれがプロジェクトを探しているため、問題は、/:username/editが動作しないということである/:username/:project_nameRailsのネストされたリソースと:パス=>「/」

resources :users, :path => "/" do 
    resources :projects, :path => "/" 
end 

のようなURLを可能にし、次のルートを、持っています「編集」という名前で

これはどうしてですか?ありがとう!

+0

達成しようとしているURL構造は何ですか? – sunkencity

+0

私は上記のように、私は '/ username/project_name'と '/ username/project_name_2'のようなURLを求めています。問題は、これは '/ username/edit'を許可しないということです。 –

+0

このルートを「手動で」追加しようとしましたか?私は、リソースパスの前に "/ username/edit" => "users#edit"を追加します。ところで、このルーティング設定は良い考えではありません。途中でもっと多くの問題につながるでしょう... – phoet

答えて

3

これを行うのカップルの方法...

1)あなた/:user_id/:idのようなルートを(あなたが望んでいたもの)

match '/:user_id/edit', :to => 'users#edit', :as => :edit_user 
resources :users, :except => [:edit], :path => "/" do 
    resources :projects, :path => "/" 
end 

2)はあなたにそれはのように思える/:user_id/projects/:idのようなルートを(与える与えますあなたは)

resources :users, :path => "/" do 
    resources :projects 
end 

を回避している、それがクリーンであると一目でルートに関するより多くの知識を提供して以来、私は個人的に#2を好みます。

関連する問題