2015-07-25 4 views
0

Я чувствую, что мой мозг покинул здание, когда я узнавал Rails маршрутизации ... Я не могу понять это.Customize часть Разрабатывают пользовательских маршрутов, в основном я не знаю Рельсы маршрутизации = (

Так Я настроить некоторые DEViSE контроллер, и поэтому я обновил файл маршрута, как так:.

devise_for :users, controllers: { 
    registrations: "users/registrations", 
    sessions: "users/sessions", 
    passwords: "users/passwords" 
} 

, который отлично работает это дает мне пути, как это:

new_user_registration GET /users/sign_up(.:format)   users/registrations#new 

задача теперь я хочу запустите тест A/B с помощью Google Analytics, где мне нужно еще 2 страницы для регистрации.

Так что в моем контроллере это, как я бы изменить:

class Users::RegistrationsController < Devise::RegistrationsController 

    def new 
    end 

    # ADD BELOW 
    def new_control 
    end 

    def new_test 
    end 
end 

Но я не могу понять, как изменить свой маршрут так, что у меня есть эти 2 новые маршруты в дополнительные к старому new_user_registration_path (примечание именованный вспомогательный путь для этих новых не не так важно для меня, потому что я никогда на самом деле использовать его)

GET /users/sign_up/control(.:format)   users/registrations#new_control 
GET /users/sign_up/test(.:format)   users/registrations#new_test 

Обратите внимание, что я хочу, чтобы все другие прекрасные перенаправляет devise_for код создан, например, create и edit действия

ответ

0

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

Так что в вашем случае маршрутов должно быть как:

devise_scope :user do 
    get 'users/sign_up/control' => 'users/registrations#new_control' 
    get 'users/sign_up/test' => 'users/registrations#new_test' 
end 

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

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