Проблема заключается в том, что файлы cookie являются клиентскими. Очевидно, что выполнение рейк-задачи на вашем сервере не будет удалять файлы cookie на всех компьютерах, посетивших веб-страницу.
Возможно, вы можете использовать session.clear
в своих контроллерах? Однако вы правы в изменении ключа cookie. Это приведет к аннулированию любого сеанса, принадлежащего старому ключу. Вы должны были бы избавиться от ActionController::StaleSession
(или что-то в этом роде), но это сработает.
URL-адрес модуля хранится в .gitmodules
в корне вашей песочницы. Этот файл отслеживается как часть Git-репозитория. Если вы внесете изменения и подтвердите их, они будут видны другим пользователям репозитория Git.
Когда вы звоните git submodule sync
, а затем git submodule init
, URL-адрес разрешается и копируется в .git/config
. Когда вы звоните git submodule update
, подмодуль клонируется, и его URL также находится в .git/modules/<module-name>/config
.
Чтобы навсегда изменить URL, отредактируйте .gitmodules
и снова вызовите git submodule sync
и git submodule init
.
Чтобы временно изменить URL-адрес, вместо этого выполните следующие два изменения:
Измените URL-адрес в .git/config
для подмодуля
Войдите в подмодуль и вызовите:
git remote set-url origin <new-url-with-https>
Вторая команда обновит URL в .git/modules/<module-name>/config
, который является папкой .git
для субмодуля.
Используйте git config --global url.<base>.insteadOf
для замены URL на лету. Нечто подобное
git config --global url.<new-url-with-https>.insteadOf git@<server>:<user>/<repo>.git
См. Больше примеров в https://stackoverflow.com/search?q=%5Bgit-submodules%5D+insteadof