2013-12-22 5 views
1

Я пытаюсь просмотреть профили пользователей. Я использую devise и следовал Creating a Users show page using DeviseПоказать профиль пользователя Devise Rails

В настоящее время существует маршрут '/ users/1', при этом 1 является идентификатором пользователя. Я хотел бы сделать это «/ users/username».

Я пытался осуществить это, выполнив:

"конфигурации/routes.rb"

match '/users/:username', to: 'users#show',  via: 'get' 

"приложение/контроллеры/users_controller.rb"

def show 
    @user = User.find(params[:username]) 
end 

Даже с этим ^^ маршрут по-прежнему остается «пользователями/1»

+0

Ссылка Jon Фриз разместил обеспечивает ответ – Daniel

ответ

1

Используйте FriendlyId, он прост в использовании.

https://github.com/norman/friendly_id

http://railscasts.com/episodes/314-pretty-urls-with-friendlyid?view=asciicast

+0

Может ли это быть использован с завещанием? У меня проблемы с дизайном и friendly_id. Я бы идеально хотел использовать его в контроллере, но пример в railscast имеет его в модели. – Daniel

+0

Да, это работает с изобретением. Я не уверен, что использую его в контроллере, а не в модели, я никогда этого не делал. – Jon

+0

Я не хочу этого в модели, потому что это будет бесполезно с моим методом разработки и моими переопределенными методами разработки. Разве вы не можете предложить хороший способ сделать это? – Daniel

Смежные вопросы