Есть ли способ иметь site.com/username при сохранении site.com/users/1 route? Проще говоря, мне просто нужно связать профиль пользователя с помощью имени пользователя.Добавить новый маршрут site.com/username при сохранении существующих маршрутов
0
A
ответ
1
Вы можете добавить произвольный маршрут, как это с помощью:
get "/:username" => "users#show", as: :username
Это передавать имя пользователя в качестве параметра шоу действия.
Тогда в ваших просмотров:
<%= link_to user.name, username_path(username: user.username) %>
Вы также будете нуждаться в действие контроллера, который знает, как обращаться с параметром username
. Если вы хотите использовать существующий контроллер пользователей и сохранить свои /users/:id
URL, тоже, вы могли бы сделать что-то вроде:
def show
@user = if params[:username].present?
User.find_by_username(params[:username])
else
User.find(params[:id])
end
end
Смежные вопросы
- 1. Symfony веточка: добавить класс при сохранении существующих
- 2. Зарегистрировать маршрут в модуле DNN до существующих маршрутов
- 3. Добавить текст в таблицу при сохранении существующих данных
- 4. Как добавить новый маршрут динамически?
- 5. Маршрут :: имена диспетчера маршрутов
- 6. Mvc: маршрут конфигурация маршрутов порядка
- 7. Как использовать маршрут маршрутов STI?
- 8. Symfony route/{slug} переопределение существующих маршрутов
- 9. добавить новый маршрут к контроллеру из контроллера?
- 10. Как добавить новый маршрут в Laravel 5.2
- 11. Express 4 with Handlebars Добавить новый маршрут
- 12. Добавить новый маршрут во всем href URL
- 13. Как добавить новый маршрут в рамки Zend?
- 14. Как добавить новый вид/маршрут в экспресс?
- 15. магистральных маршрутов, создающих искусственный маршрут?
- 16. Маршрут трассировки маршрутов Google Maps
- 17. Добавление нового элемента в существующий индекс при сохранении существующих элементов
- 18. Laravel 5 - Перенаправить предыдущий маршрут на новый маршрут
- 19. Как переключиться на спрайт изображения при сохранении существующих переходов
- 20. Использование selectAll() для создания новых элементов при сохранении существующих элементов
- 21. изменяет выбросы на NA при сохранении существующих NA
- 22. GORM отношение один к одному при сохранении существующих записей
- 23. Преобразование & & при сохранении существующих ссылок на объекты
- 24. Один маршрут от вложенных маршрутов не работает
- 25. Как получить список существующих маршрутов в ember.js
- 26. Динамически добавьте маршрут к началу маршрутов рельсов
- 27. Добавление InfoWindow в маршрут маршрутов Google
- 28. Добавить перехватчики в маршрут Camel
- 29. Новый маршрут возвращения 404
- 30. Как сделать маршрут по умолчанию при определении нескольких маршрутов?
спасибо за ответ. Это именно то, что мне нужно, но есть одна проблема. Как сохранить другие маршруты? Например ** site.com/products **? Есть ли способ добавить исключение или, возможно, добавить уловку всего маршрута? –
Как оказалось, я мог разместить маршрут в самом низу, поэтому он оценивается последним. –
Да. Вероятно, также неплохо добавить некоторые ограничения на формат параметра имени пользователя (например, имена пользователей, вероятно, не могут включать /), используя [параметр 'ограничения] (http://guides.rubyonrails.org/routing.html# сегмент-ограничение). –