хотя это старый вопрос, я подумал, что добавлю его на случай, если кто-нибудь наткнется на него. Я не уверен, является ли это новым дополнением, так как вопрос был первоначально задан, но если это так, то более простой (более современный) подход заключается в следующем.
в файле config/initializers/devise.rb
есть следующий блок кода:
# ==> Scopes configuration
# Turn scoped views on. Before rendering "sessions/new", it will first check for
# "users/sessions/new". It's turned off by default because it's slower if you
# are using only default views.
# config.scoped_views = false
, раскомментировав config.scoped_views = false
и изменив его значение на true
, devise автоматически проверит, существует ли пользовательское представление и, если это так, обработает его. Как говорится, это добавляет некоторые накладные расходы на приложение, но, по моему опыту, пока это минимально.