2014-02-21 2 views
1

Я пытаюсь создать ссылку для пользователя, чтобы щелкнуть, чтобы подтвердить свою учетную запись. Я хотел это:Именованный маршрут для размещения нересурсов

/users/:id/confirm/:code 

Я получил это в моем файле маршрутов:

resources :users do 
    member do 
    get 'confirm/:confirmation_code', :action => 'confirm' 
    end 
end 

Я попытался:

user_confirm_path(@user, @confirmation_code) 
confirm_user_path(@confirmation_code, @user) 

и многие другие, но не могу чтобы получить правильный. Думаю, я всегда мог бы генерировать URL-адрес ссылки, но это не похоже на путь рельсов.

Это то, что мои грабли перенаправляют выходы:

rake routes 
Prefix Verb URI Pattern          Controller#Action 
     GET /users/:id/confirm/:confirmation_code(.:format) users#confirm 

но опускает вещь я на самом деле ищу

ответ

1

Я не собираюсь дать решение сразу, но я дам вам ключи для решения проблемы самостоятельно: («Дайте человеку рыбу, и вы кормите его на один день. Научите человека ловить рыбу, и вы кормите его на всю жизнь.»)

Вы можете выполнить следующую команду: перечислите все доступные маршруты в ваше приложение и соответствующие помощники:

rake routes 

В моем приложении, есть так много путей я не могу увидеть их все сразу. Поэтому я добавляю | grep something, чтобы выбрать только ту часть, которая мне нужна. В вашем случае, это было бы что-то вроде:

rake routes | grep confirm 

И вы, вероятно, в конечном итоге чтение выход, как:

confirm_user_path GET /users/:id/confirm/:confirmation_code 

погуглить "рельсы 4.0.2 URL-адрес помощника", первая ссылка - вопрос Github: https://github.com/rails/rails/issues/12751

+0

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

+0

Можете ли вы попытаться использовать 'confirm_user_path (user_id: @ user.id, confirm_code: @confirmation_code)'? – MrYoshiji

+0

По-прежнему 'undefined method' confirm_user_path'' –

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