Это потому, что во втором случае сравниваются фактические объекты даты, а два объекта никогда не равны друг другу. Поверните их в число:
alert( +startDate2 == +startDate3 ); // true
Если вы хотите более простое преобразование в число, используйте либо:
alert( startDate2.getTime() == startDate3.getTime() ); // true
, либо
alert( Number(startDate2) == Number(startDate3) ); // true
Oh , ссылка на спецификацию: §11.9.3 Алгоритм сравнения абстрактного равенства , который в основном говорит при сравнении объектов, obj1 == obj2
является истинным, только если они относятся к одному и тому же объекту, иначе результат будет ложным.
Dokku имеет то же основание, что и heroku.
Файловая система Heroku эфемерна, поэтому любые изменения в файловой системе будут жить только в последнем активном контейнере dokku, в котором запущено ваше приложение. Поэтому, когда вы нажимаете свой код, в основном, dokku создает новый контейнер с файлами вашего приложения, а затем заменяет его старым. То же самое происходит, когда вы закрываете или перезапускаете приложение.
Используя хранилище dokku, его можно заставить его работать, просто следуйте инструкциям этого руководства http://dokku.viewdocs.io/dokku~v0.7.2/advanced-usage/persistent-storage/ , но обратите внимание что вам придется использовать относительный путь ex. '/ app / storage' в вашем приложении, поэтому хранилище работает. Но по нашему опыту, после 1 года работы с приложениями dokku на prod, вы можете легко испортить файлы по таинственной причине того, как работает dokku.
Если вам действительно нужно хранить данные, я рекомендую использовать специальную службу хранения файлов, такую как AWS S3, это очень дешево. Есть несколько драгоценных камней, которые вы можете использовать для хранения, которые могут легко помочь вам обрабатывать ваши файлы в S3, такие как papeclip, dragonfly, activestorage (если вы используете rails 5.2).