Пользовательские Вложенные Маршруты - PullRequest
0 голосов
/ 30 декабря 2011

Я пытаюсь получить пользовательские маршруты на основе имени пользователя, а не ID. У меня это работает, чтобы добраться до страницы показа пользователя, но я также пытаюсь вложить ресурсы, чтобы я мог видеть его сообщения и комментарии, используя тот же синтаксис.

Пример:

Работает ..."mysite.com/users/username/"

Не работает ..."mysite.com/users/username/posts/"

routes.rb

...
# Users with the Username...
match 'users/:username' => "users#show" do
    get :posts
    get :comments
end

# Users with the ID...
resources :users do
    get :posts
    get :comments
end
...

1 Ответ

1 голос
/ 30 декабря 2011

Возможно, вы можете использовать метод to_param и обновить вложенные маршруты / ресурсы:

routes.rb:

resources :users do
    resources :posts
    resources :comments
end

user.rb

class User < ActiveRecord::Base
  def to_param
   username
  end
end

.. для поиска в UserController:

 @user = User.find_by_username(params[:id])

(или любой вариант нахождения по критериям имени пользователя)

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