2016-01-14 3 views
0

Я пытаюсь создать новый путь, confirm_path, который выводит пользователя на страницу с именем views/users/confirm.html.erb. В URL будет отображаться веб-сайт/пользователи/подтвердить.Создание новых маршрутов rails

Я пробовал несколько разных способов выразить это, но никто из них не работал.

В файле маршрутов, я в настоящее время

get 'users/confirm.html.erb' => 'users#confirm', as: :confirm 

но он продолжает говорить мне, что пользователь не имеет идентификатора «Confirm»

Кто-нибудь из вас знает, как я могу создать confirm_path, который бы просто отобразите информацию в views/users/confirm.html.erb и покажите URL-адреса пользователей/подтвердите?

Спасибо!

ответ

1

Вы, вероятно, определили пользователи ресурса выше этой линии, что-то вроде

resources :users 

поэтому пользователи/подтверждают, что перенаправлены на UsersController#show with id='confirm'. Убедитесь, что вы определить

get 'users/confirm', to: 'users#confirm', as: :confirm 

как это было предложено Mihail, над определением ресурса.

+0

ах, на самом деле это исправлено, спасибо! – chris

0

Изменение:

get 'users/confirm.html.erb' => 'users#confirm', as: :confirm 

к:

get 'users/confirm', to: 'users#confirm', as: :confirm 

Кроме того, добавьте в вас UsersController:

def confirm 
end 
+0

Хм, это все еще не работает. Он по-прежнему отмечает эту функцию: def set_user @user = User.find (params [: id]) end and stating "не удалось найти пользователя с 'id' = подтвердить – chris

+0

какая ошибка вы сейчас получаете? – Cyzanfar

+0

как и раньше: «не удалось найти пользователя с« id »= подтвердить». Также, если я вместо этого попробую пользователей/confirm.html.erb, я получаю: нет совпадений маршрута [GET] «/users/confirm.html.erb» – chris

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