Перезаписывает работы Devise SessionsController
. Я взял код контроллера из github и добавил redirect_to для мобильных устройств:
app/controllers/sessions_controller.rb
class SessionsController < Devise::SessionsController
def create
resource = warden.authenticate!(:scope => resource_name, :recall => "#{controller_path}#new")
set_flash_message(:notice, :signed_in) if is_navigational_format?
sign_in(resource_name, resource)
if mobile_device?
redirect_to wherever_you_want
else
respond_with resource, :location => redirect_location(resource_name, resource)
end
end
end
А в routes.rb
:
devise_for :users, :path => '/', :controllers => { :sessions => "sessions" }
Не забудьте создать app/views/sessions/
шаблоны.