Rails 3: заменить / users / username / что-то на / username / что-то - PullRequest
0 голосов
/ 09 января 2011

У меня уже есть маршрут для соответствия /username для страницы пользователя.Однако, когда я добавляю другое действие, например: подписчики и подписчики, как показано ниже:

 resources :users, :only => [:show] do
    get :following, :followers
  end

, я получаю URL /users/username/following вместо /username/following.

Как я могу сделать так, чтобы все URL-адреса /users/username соответствовали /username/etc ..?

Вот мой /username маршрут:

match '/:id' => 'users#show', :constraints => { :id => /[a-zA-Z0-9\-_]*/ }, :as => "user_profile"

спасибо.

Редактировать:

Я исправил это, добавив

match '/:id/following' => 'users#show/following', :as => "user_following"
match '/:id/followed' => 'users#show/following', :as => "user_followers"

Но я не уверен, что это лучшее решение.То, что я действительно хочу, это маршрут по умолчанию, который бы соответствовал всем /:id/:action соответствующему действию, пропуская /users.

Ответы [ 2 ]

0 голосов
/ 01 февраля 2011

возле дна

match ':id/:action', :controller => :users
0 голосов
/ 10 января 2011

Я исправил это, добавив

match '/:id/following' => 'users#show/following', :as => "user_following"
match '/:id/followed' => 'users#show/following', :as => "user_followers"

Но я не уверен, что это лучшее решение.Что мне действительно нужно, так это маршрут по умолчанию, который бы сопоставлял все действие /: id /: соответствующему действию, опуская /users.

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...