Метод destroy
¹ SessionsController
содержит следующую строку:
signed_out = Devise.sign_out_all_scopes ? sign_out : sign_out(resource_name)
Метод sign_out_all_scopes
² вызывает warden.logout
без каких-либо аргументов, а вызов метода sign_out
³ warden.logout(scope)
.
Документация метода logout
⁴ гласит:
blockquote># Logout everyone and clear the session env['warden'].logout # Logout the default user but leave the rest of the session alone env['warden'].logout(:default)
Заключение:
sign_out
должен сохранять сеанс при задании определенный объем. Однако я не вижу никакого способа сделать это.sign_out_all_scopes
всегда всегда называется первым и будет возвращать толькоfalse
, если он не смог зарегистрировать пользователя.Я рекомендую либо опубликовать запрос функции на их трекер проблемы или разработка собственного решения для проверки подлинности. Rails теперь предоставляет
has_secure_password
, и в эти дни люди, похоже, собираются для последнего, чтобы избежать столкновения с этими проблемами.¹
Devise::SessionsController#destroy
²
Devise::Controllers::Helpers#sign_out_all_scopes
В вашем примере используйте querySelectorAll
с селектором атрибута :
//Get elements with an id that starts with graph-points-
let graphPoints = document.querySelectorAll('[id^=graph-points-]');
console.log(graphPoints);
<div id="graph-points-x">
<div id="p0">0</div>
<div id="x1">1</div>
<div id="x2">2</div>
<div id="x3">3</div>
<div id="x4">4</div>
<div id="x5">5</div>
<div id="x6">6</div>
<div id="x7">7</div>
<div id="x8">8</div>
<div id="x9">9</div>
</div>
<div id="graph-points-y">
<div id="y1">1</div>
<div id="y2">2</div>
<div id="y3">3</div>
<div id="y4">4</div>
<div id="y5">5</div>
<div id="y6">6</div>
<div id="y7">7</div>
<div id="y8">8</div>
<div id="y9">9</div>
</div>
Если вам не нужно ориентироваться на IE7 и ниже, document.querySelectorAll('[id^="graph-points"]')
- это то, что вам нужно.
Я бы по-прежнему рекомендовал добавить класс в родительские контейнеры, чтобы вы могли использовать более простой селектор, так как таргетинг на идентификаторы, начинающиеся с определенной строки, не является оптимальным решением.
См. https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll для получения дополнительной информации
.