0

次のように、アプリケーション(rails 3.2)でネストされたルートを使用しています。

resources :networks do
  resources :groups
end

グループショーページのルートは以下の通りです

network_group GET    /networks/:network_id/groups/:id(.:format)

パラメータをそれぞれ:network_nameと:group_nameに変更するにはどうすればよいですか?また、ルートの名前を(network_group_pathではなく)group_pathに変更したいと思います。個々のルートに「match」を使用せずに、これらの変更をすべてのルートに反映させたいと思います。

group_path(@network、@group)のようなものが'/ Networks / global / groups / all'を返すようにすることは可能ですか?ここで、'global'と'all'は両方ともそれぞれのモデルの'name'属性です。(デフォルトでは、URLにIDが含まれています)

4

2 に答える 2

0

friendly_idgemを使用できます。https://github.com/norman/friendly_id

于 2012-08-09T20:08:18.477 に答える
0

モデルにto_paramメソッドを追加することでこれを行うことができます

http://railscasts.com/episodes/63-model-name-in-url

ネットワークおよびグループモデルで、URL(network_name、group_name)に必要なものを返す#to_paramメソッドを追加します。

または、かなりのURLを提供するfriendly_idgemを使用することもできます。

于 2012-08-09T10:41:15.220 に答える