Как дать разные представления для каждого пользователя в Rails 3? - PullRequest
1 голос
/ 14 июля 2011

Итак, у меня есть таблица users, и у каждой записи есть поле username

и у меня есть мой рут для контроллера main и действие `index

root :to => 'pages#main'

поэтому, если перейти к http://mydomain.com, он покажет мою страницу main#index, и у меня также есть страницы about и contact.

, но если я перехожу на 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 Ответ

1 голос
/ 14 июля 2011

Я точно не знаю, о чем вы спрашиваете, однако этот может вам помочь.Я думаю (по крайней мере для about и contact) правильный синтаксис: match '/contact_us' => 'main#contact (то же самое для about, но замените контакт на about), правильный root :to => 'pages#main' (это то же самое, что делать match / / => 'pages #main ')

Что вы спрашиваете о match ':username' => 'users#show'?Вы хотите (например), чтобы URL был http://mydomain.com/users_username?Где users_username - это имя профиля пользователя, к которому они перемещаются?Если это так, я думаю, вы можете сделать что-то вроде match '/:username' => 'users#show', но я не совсем уверен.

Ответьте мне, что работает, а что нет

...