Как вы переходите на страницу показа пользователей с помощью устройства? - PullRequest
0 голосов
/ 13 июля 2011

Как видно из названия, я использую устройство. Я хочу перейти к / users / 1 или какому-либо пути current_users. Когда я пытаюсь link_to(current_user.name, user_path), я просто получаю ошибку. неопределенная локальная переменная или метод `user 'для # <#: 0x00000101d2dfc8>

Я не использую правильный путь? Нужно ли маршрутизировать это или что-то?

Кроме того, это относится к первому, как бы я перейти на страницу показа другого пользователя (не текущего пользователя)

Ответы [ 3 ]

3 голосов
/ 13 июля 2011

Вам понадобится три вещи, чтобы получить желаемое представление, потому что devise не предоставляет стандартные пользовательские маршруты.

1) Создайте маршрут в config / rout.rb.Devise не предоставляет стандартный маршрут, и по моему опыту рейк-маршруты только подтверждают это.Я использовал:

match '/users/:id', :to => 'users#show',    :as => :user,         :via => :get

со смешанным успехом

2) Создайте пользовательский контроллер с соответствующим образом заполненным разделом show

3) создайте файл представления: user/ показать и добавить части, которые вы хотите показать.

2 голосов
/ 13 июля 2011

Я не знаком с devise, но я был бы удивлен, если бы devise отличалось от соглашений Rails. Вам необходимо передать пользователя помощнику маршрута: link_to(current_user.name, user_path(current_user))

0 голосов
/ 29 июля 2012

Что мне помогло, так это добавление пользователя @ before в "rout.rb":

"match 'users/:id' => 'users#show', :as => @user"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...