如何为Rails 3中的每个用户提供不同的视图?

时间:2011-07-14 15:45:48

标签: ruby-on-rails-3 routes custom-routes

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

我的根到控制器main和动作`索引

root :to => 'pages#main'

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

但如果我转到http://mydomain.com/Mr_Nizzle,它会显示Mr_Nizzle上的用户users#show的页面(就像示例一样),以及其他用户显示每个用户的页面页...

如果我去=>

是对的
match ':username' => 'users#show'

match 'contact_us' => 'main#contact'

match 'about' => 'main#about'

root :to => 'pages#main'

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

感谢。

1 个答案:

答案 0 :(得分:1)

我不确定你的要求是什么,但是this可能会有所帮助。我认为(至少对于约会和联系)正确的语法是match '/contact_us' => 'main#contact(对于约会但是替换与约会的联系相同),root :to => 'pages#main'是正确的(这与做匹配'/'=相同>'pages#main')

您对match ':username' => 'users#show'有什么要求?你想(例如)一个网址是http://mydomain.com/users_username吗? users_username是他们导航到的用户个人资料的名称?如果是这样,我认为你可以做match '/:username' => 'users#show'之类的事情,但我不完全确定。

向我回复有效和无效的内容