2014-11-18 3 views
0

Я хочу создать отдельную форму для регистрации для пользователя-разработчика. Эта форма должна иметь свой собственный контроллер, поскольку логика для этой формы будет существенно отличаться. Как мне это сделать?Придумайте две отдельные формы регистрации

Например, у меня есть страница users/registrations/new.html.erb, как я могу создать страницу users/registrations/promo.html.erb? Как выглядит новый контроллер и маршрут?

ответ

1

Вам нужно будет написать собственный контроллер для устройства. Ниже приведены маршруты, которые могли бы вам начать. В контроллере вы можете теперь написать логику регистрации в соответствии с вашими требованиями.

Маршруты

devise_for :users, :controllers => { :registrations => "registrations" }, :path => "users", :path_names => {:sign_up => "register"} 
devise_scope :user do 
    post "https://stackoverflow.com/users/promo" =>"registrations#promo" 
end 

Регистрация Контроллер

class Users::RegistrationsController < Devise::RegistrationsController 
    def create 
    #Code for '/users' route to be here 
    end 

    def promo 
    #Code for '/users/promo' route to be here 
    end 

end 
+0

Спасибо. Единственное, что когда я пытаюсь посетить страницу users/promo, я получаю следующую ошибку: «Нет совпадений в маршруте [GET]»/users/promo »« Это работает, только если я изменю маршрут: «получить»/users/promo "=>" регистрация # promo "" Мне нужен отдельный маршрут для действия post? – Dobabeswe

+0

Ну, у вас может быть еще один маршрут для метода get на '/ users/promo'. Хотя я бы рекомендовал, чтобы действие, в котором создается пользовательский объект, было методом post. Это зависит от вас, как вы управляете маршрутами. – Saurabh

+0

@ Dobabeswe: Вы смогли решить свою проблему ?? – Saurabh

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