Что я пытаюсь сделать
Я хочу отправить пользователя на новую страницу регистрации #, если они не вошли в систему.
После того, как вы введете регистрационную информацию и нажмите "Отправить", я хочу, чтобы вы были отправлены на страницу показа регистраций.
Что происходит
Он отправляет вас на новую страницу регистрации #, когда вы не вошли в систему (верно до сих пор). Но когда вы отправляете форму входа, она отправляет ошибки с помощью цикла переадресации. Вывод сервера повторяется снова и снова:
Started GET "/" for 127.0.0.1 at 2013-09-25 02:31:59 -0400
Processing by RegistrationsController#new as HTML
User Load (0.7ms) SELECT "users".* FROM "users" WHERE "users"."id" = 8 ORDER BY "users"."id" ASC LIMIT 1
Redirected to http://lvh.me:3000/
Filter chain halted as :require_no_authentication rendered or redirected
Completed 302 Found in 2ms (ActiveRecord: 0.7ms)
Я не могу понять это. Он регистрирует вас, поскольку я вижу, что вручную перейдя на другую страницу, но корневой путь authenticated
работает некорректно. Я пробовал несколько разных комбинаций в файле маршрутов и, похоже, не смог его получить. Код, который я использую, основан на этот поток
Мой код
В моем контроллере приложений у меня есть before_filter :authenticate_user!
Мой файл маршрутов:
devise_for :users, :controllers => {
:registrations => "registrations"
}
devise_scope :user do
root to: "registrations#new"
end
authenticated :user do
root to: "registrations#show", :as => "profile"
end
unauthenticated do
root to: "registrations#new", :as => "unauthenticated"
end