2011-01-21 1 views
4

Я до сих пор безуспешно пытается использовать программу, чтобы разрешить два разных пути регистрации к одной и той же модели пользователя.Разный процесс регистрации с помощью dev/cancan, но только для одной модели пользователя?

Моя модель пользователя связана с другой моделью данных, но меня не волнует это во время регистрации. Но я все же хочу «показать» разницу пользователям (URL-адрес, посмотреть и т. Д.) Плюс, конечно, я хочу сохранить в модели пользователя пользовательский тип, который мой пользователь так, чтобы я мог вернуться позже и попросите, что мне нужно, чтобы заполнить мои другие модели (связанные с пользователем).

Я изучил дорогу, переписывая свой собственный контроллер регистрации, но я не вижу, как это поможет с помощью маршрутов ... Мне бы хотелось что-то вроде:/usertype1/signup и/usertype2/подписываются практически для более чем 2 типов пользователей, но в конце концов он должен просто создать простейший пользовательский режим (электронная почта, pwd, подтверждение, тип пользователя).

Любое предложение можно только приветствовать в этом месте :)

Alex

ответ

6

То, что я, наконец, должен иметь в пользовательских маршрутов точек на одной и той же странице регистрации:

devise_for :users, :controllers => { :registrations => "registrations" } do 
    get '/author/sign_up', :to => 'registrations#new' 
    get '/client/sign_up', :to => 'registrations#new'  
end 

Тогда о регистрации страница Я просто добавляю скрытое поле, значение которого меняю в зависимости от URL:

- if request.fullpath =~ /\/author\/sign_up/ 
    - session[:registration] = "author" 
    = render 'author' 
- elsif request.fullpath =~ /\/client\/sign_up/ 
    - session[:registration] = "client" 
    = render 'client' ' 

Таким образом, я могу отобразить внешний вид 2-х разных страниц при регистрации. Это может работать с X различными типами пользователей.

Alex

+0

Nice one. Еще одна вещь, которую я должен был сделать, - это пройти через скрытое поле в RegistrationsController. Затем я могу добавить пользовательские параметры к пользователю, на основе которого они «взяли» путь. – mattd

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

  • Нет связанных вопросов^_^