2013-03-08 3 views
0

Я использую устройство для своего авто, и он отлично работает. Мне нужна страница профиля, и я создал контроллер для Users и там есть метод show, который ссылается на show.html.erb и работает после того, как идентификатор передан.Разработка пользовательских маршрутов

Я хочу добавить ссылку в профиль, чтобы перейти на URL-адрес /users/[:id], но я не могу заставить его работать. Я пробовал:

match 'users/:id', :to 'users#show', :as => :profile 

, но я получаю сообщение об ошибке, не показывающее действие.

Может ли кто-нибудь дать мне совет, чтобы получить ссылку на маршрут в свой профиль.

ответ

6

Если вы хотите что-то, чтобы пойти/пользователей /: идентификатор не так просто:

routes.rb

resources :users 

view_file. html.erb

<%= link_to "Bob's profile", user_path(user_id) %> 
+0

я попытался что, но получить неопределенную локальную переменную или метод 'user_id 'для # <# <Класс: 0x007fd19c487e78>: 0x007fd19c13e870> У меня есть ресурсы: пользователи – DMH

+0

user_id - это идентификатор, который вы хотите использовать. Итак, чей 'id' вы хотите увидеть? Если вы хотите, чтобы профиль current_user выполнялся, как <% = link_to current_user.name, user_path (current_user.id)%> Пожалуйста, имейте в виду, что я делаю предположения об имеющихся у вас объектах/атрибутах. – AdamT

+2

Обратите внимание, что если вы используете пример выше, это будет 'profile_path (current_user.id)' – AdamT

0

Ваш маршрут должен быть

match 'users/:id', :to => 'users#show', :as => :profile 
         ^^^^ 
+0

Нет совпадений маршрутов {: controller => «users»,: action => «show»} :( – DMH

+0

@ user1995600 Если вы удалите «как ...»? – alestanis

+0

класса UsersController DMH

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