1

所以我有我的表users,每条记录都有一个username字段

我有我的根到控制器main和操作`index

root :to => 'pages#main'

所以如果去http://mydomain.com它会显示我的main#index页面,我也有aboutcontact页面。

但是如果我去http://mydomain.com/Mr_Nizzle它会显示用户的页面Mr_Nizzleusers#show就像示例一样)以及其他用户显示每个用户的页面......

我去对吗=>

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

match 'contact_us' => 'main#contact'

match 'about' => 'main#about'

root :to => 'pages#main'

所以我可以将所有逻辑留在路由上而不是主控制器中?

谢谢。

4

1 回答 1

1

我不确定您的确切要求,但这可能会有所帮助。我认为(至少对于 about 和 contact)正确的语法是match '/contact_us' => 'main#contact(对于 about 相同,但将 contact 替换为 about),root :to => 'pages#main'是正确的(这与执行 match '/' => 'pages#main' 相同)

你在问什么match ':username' => 'users#show'?你想要(例如)一个 url 是http://mydomain.com/users_username吗?users_username 是他们正在导航到的用户配置文件的名称?如果是这样,我认为您可以做类似的事情,match '/:username' => 'users#show'但我不完全确定。

回复我什么有效,什么无效

于 2011-07-14T15:54:40.437 回答