2011-07-13 24 views
1

私のアプリでは、ユーザーにメッセージがあります。Rails 3のネストされたリソースのルーティング

resources :users do 
    resources :messages 
end 

ユーザーはかなりのURL、たとえば/ albertでプロフィールにアクセスできます。

match ':username' => 'users#show', :as => 'username' 

メッセージはありません。

user_message_path(@user, 1) 

は/ users/1/messages/1を返します。/albert/messages/1を返すにはどうすればいいですか?あなたのルートで

答えて

1

追加:

get ':username/messages/:id' => 'messages#show', :as => 'username_message' 

にアクセスするには、username_message_path

+0

感謝を使用しますが、これを行うためのより一般的な方法は何ですか? 1つはネバーされた各リソースにその行を追加する必要があります。キューブは – alste

+0

になり、各ネストされたリソースのすべてのアクションに対して... – alste

+0

リソースメソッドの定義を参照することをお勧めします。http://api.rubyonrails .org/classes/ActionDispatch/Routing/Mapper/Resources.html#method-i-resource(show sourceをクリックしてください)。提供するパターンがあなたの好みに合っていない場合は、アプリケーションに合わせた独自のカスタムメソッドを作成できます。 –

関連する問題