Ruby on rails Rails 3路由资源的作用域为用户名

Ruby on rails Rails 3路由资源的作用域为用户名,ruby-on-rails,Ruby On Rails,我对rails路由有一个基本的了解,但不太先进。到目前为止,我已经通过使用基于RESTful资源的路由和一些自定义命名路由获得了一些信息 我现在几乎完成了我的应用程序,我想制作一些漂亮的URL 在我的应用程序中,每个用户都有许多页面。让URL看起来像www.sitename.com/username/page\u name的最佳方法是什么?我不太确定您使用此选项的目的,但类似的内容可能会在您的路由文件中起作用: resources :users do get 'page_name' en

我对rails路由有一个基本的了解,但不太先进。到目前为止,我已经通过使用基于RESTful资源的路由和一些自定义命名路由获得了一些信息

我现在几乎完成了我的应用程序,我想制作一些漂亮的URL


在我的应用程序中,每个用户都有许多页面。让URL看起来像www.sitename.com/username/page\u name的最佳方法是什么?

我不太确定您使用此选项的目的,但类似的内容可能会在您的路由文件中起作用:

resources :users do
    get 'page_name'
end
这将产生:
users/:id/page\u name


您可能想查看。

您要查找的是a(第2.9.1节)


将导致/users/:id/cool_页面

这将路由到页面控制器的显示操作。参数散列包括:用户名和:页面名称

match "/:username/:page_name" => "pages#show"

请记住将其放在最后,否则它将与几乎所有内容匹配。

这与我的答案有何不同?您没有将映射放置在成员上。如果您不使用member,它将不会使用/:id/action,它将使用/:user\u id/action
match "/:username/:page_name" => "pages#show"