В дополнение к Маттею. Утверждение
signed_out = (Devise.sign_out_all_scopes ? sign_out : sign_out(resource_name))
является, пожалуй, лучшим общим изложением вывода, учитывая возможность входа в систему с несколькими ролями. Если для вашего случая ваш пользователь только что подписан как одна роль, и вы хотите сохранить остальную часть сеанса при выводе, самый простой способ:
$ git clone git://github.com/plataformatec/devise.git
$ cd devise
$ git branch my_devise
$ git checkout my_devise
Открыть приложение / контроллеры /devise/sessions_controller.rb в вашем редакторе. В методе destroy замените
signed_out = (Devise.sign_out_all_scopes ? sign_out : sign_out(resource_name))
на
signed_out = sign_out(resource_name)
Сохранить и выйти из редактора и сделать
$ git commit -am "remove only warden data from session on logout, preserve other data."
В Gemfile вашего проекта, описать зависимость для разработки, например
gem 'devise', :path => "[YOUR PATH]/devise", :branch => "my_devise"
s.Substring(2, 1) == ":"
напр .:
" e:".Substring(2, 1) == ":" // will return true
Как насчет этого? Если в строках первый символ - пробел (), а третий - двоеточие (:). Тогда между ними может быть любой символ.
s[0] == ' ' && s[2] == ':'