Как изменить путь корневого контроллера Devise в Rails 3? - PullRequest
1 голос
/ 31 мая 2011

У меня есть приложение Rails 3, которое использует Devise.Как мне изменить корневой контроллер devise на что-то отличное от корневого контроллера приложения.

В моем файле rout.rb корневой каталог приложений установлен как root :to => 'home#index', поэтому http://app.com/users/sign_in будет вызыватьвверх по форме устройства, которая не является тем, что я хочу.

У меня также есть следующее в rout.rb (это маршрут, который я хочу использовать для разработки):

  scope :module => 'control' do
    constraints :subdomain => 'control' do
      resources :offers
      root :to => 'offers#index'
    end
  end

Как можноЯ предлагаю разработать вышеуказанный путь (control.app.com), чтобы вход для пользователя был расположен по адресу http://control.app.com/users/sign_in?

Спасибо!

Тим

Ответы [ 2 ]

1 голос
/ 31 мая 2011

Может быть, вам нужно использовать devise_scope при определении корневого маршрута для страницы входа и передать туда свой поддомен? Просто предположение.

«Конфигурирование маршрутов» в https://github.com/plataformatec/devise/blob/master/README.rdoc может помочь.

0 голосов
/ 31 мая 2011

Я нашел решение.Я добавил devise_for в область видимости следующим образом:

  scope :module => 'control' do
    constraints :subdomain => 'control' do
      devise_for :users, :module => 'devise'
      resources :offers
      root :to => 'offers#index'
    end
  end

Вам необходимо добавить :module => 'devise', потому что модуль заменен на имя пространства имен, поэтому вы должны установить его обратно на «devise».Теперь я могу получить доступ ко всем действиям устройства с помощью субдомена control (например, control.app.com/users/sign_in, control.app.com/users/sign_up и т. Д.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...