Есть лучший способ создать языковое меню, используя Bulma без JavaScript .
Языковое меню HTML :
<div class="select">
<select>
<option selected>English</option>
<option>Italian</option>
<option>Arabic</option>
</select>
</div>
Вот ваш проект, использующий мою идею:
document.addEventListener('DOMContentLoaded', () => {
// Get all "navbar-burger" elements
const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0);
// Check if there are any navbar burgers
if ($navbarBurgers.length > 0) {
// Add a click event on each of them
$navbarBurgers.forEach(el => {
el.addEventListener('click', () => {
// Get the target from the "data-target" attribute
const target = el.dataset.target;
const $target = document.getElementById(target);
// Toggle the "is-active" class on both the "navbar-burger" and the "navbar-menu"
el.classList.toggle('is-active');
$target.classList.toggle('is-active');
});
});
}
});
[112 ] backgroundrb
. Это, однако, съест память далеко от Вашего основного приложения для направляющих, поскольку это породит один экземпляр Ruby, эксклюзивный к backgroundrb
.SystemController
(или эквивалентный) в Вашем главном приложении с различными действиями, соответствующими различным домашним задачам должно работать Ваше приложение. Можно "подталкивать" его от crontab
использование wget
или curl
, так как преимущество - это, оно совместно использует ресурсы с Вашим главным приложением. В зависимости от того, насколько параноидальный или Вы, или о том, как уязвимый для DOS (или другие типы нападений) представление такого контроллера к, возможно, внешний мир, можно принять решение блокировать доступ к URL этого контроллера от адресов кроме обратной петли (идеально в обратном прокси, альтернативно от самого контроллера.)Один действительно простой метод состоял бы в том, чтобы иметь сценарий, который делает..
while true do
check_and_send_messages()
sleep 60
end
.. что означает, что Вы постоянно не повторно порождаете среду направляющих.
Очевидно, это имеет различные дефекты, но также и обладает некоторыми преимуществами (например, с Вашим 1-Rake-per-minute, это, задача Граблей занимает больше чем одну минуту, Грабли будут работать многократно сразу),
Кроме того, эпизоды Railscasts Загребают Фон, Starling и Workling, и Пользовательский Демон мог бы дать Вам некоторое представление (они описывают точно эту задачу),
Это поворачивается, там на самом деле что-то созданное только для этого: ar_mailer. ar_mailer стоит в очереди электронные письма в DB и затем отсылает их периодически использование команды ar_mailer. Можно называть ar_mailer каждую минуту.
Хорошая вещь о ar_mailer состоит в том, что в основном требуется очень мало изменения с точки зрения того, как Вы уже посылаете электронные письма. Просто необходимо наследоваться ar_mailer вместо ActiveMailer. Используя этот метод, Вы не должны будете волноваться о рабочих задачах граблей в фоновом режиме, разветвляя процессы или что-либо как этот - и в действительности Вы получаете реальный почтовый сервер с сообщениями с очередями, которые удалены, когда почта на самом деле отправляется. Эта функция важна, если у Вас есть система, которая отсылает большие количества электронной почты enmass. Я использовал ar_mailer для создания социальной сети - таким образом, я могу засвидетельствовать ее устойчивость.
Вот хорошая статья, которая говорит о ar_mailer подробно. Я категорически не рекомендовал бы прокрутку Вашего собственного решения здесь, поскольку Eric создал испытанное решение этой самой проблемы.
Я делаю то, что Vlad, предложенный (#2), только с локальными запросами, которые соблюдают, и я достаточно параноик, чтобы также потребовать определенной строки запроса, прикрепляемой на URL.
У меня есть несколько периодических действий, настраивает этот путь.