В дополнение к ответу bobince ...
С помощью Ajax вы можете подключить / отключить ссылку «Выход» к функции Javascript. Попросите эту функцию отправить XMLHttpRequest с плохим именем пользователя и паролем. Это должно вернуть 401. Затем верните документ.location на страницу предварительного входа. Таким образом, пользователь никогда не увидит дополнительное диалоговое окно входа в систему во время выхода из системы и не должен забывать вводить плохие учетные данные.
Несмотря на то, что на вопрос был дан ответ, я хочу опубликовать свое исследование, чтобы помочь другим. Я нашел много информации в Интернете, но, будучи новичком в Ruby, мне пришлось тяжело следить за всеми. Основной ответ получен из следующего сообщения https://github.com/luislavena/sqlite3-ruby/issues/82 с инструкциями «paulwis» о том, как правильно установить sqlite3 для ruby 2.0.0- p0 и некоторые комментарии по https://github.com/rails/rails/issues/10150 . Так вот:
gem install sqlite3 --platform=ruby -- --with-sqlite3-include=[path\to\sqlite3.h] --with-sqlite3-lib=[path\to\sqlite3.o]
Например: gem install sqlite3 --platform=ruby -- --with-sqlite3-include=/c:/dev/sqlite3/ --with-sqlite3-lib=/c:/dev/sqlite3/.libs/
(из путей, указанных на шаге 4) Надеюсь, это кому-то поможет.
Я подумал, что отвечу - из комментариев, ради потомков. Проблема заключалась в том, что я схватил новую версию Ruby / Rails (для Windows), которая еще не была совместима с SQLite3.
Я понизил рейтинг до 1.9.x и смог выполнить все.
126: The specified module could not be found. - c:/Ruby200/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/lib/sqlite3/sqlite3_native.so
– Tyler Gannon
29 June 2013 в 01:46
Я смог установить sqlite3 с ruby2.0.0 на win XP32 со следующей командой:
c:\>gem install sqlite3 --platform=ruby -- --with-sqlite3-dir=C:/distr/sqlite --with-sqlite3-include=C:/distr/sqlite
Папка C:/distr/sqlite
содержит следующие файлы
Итак, в основном я извлекаю sqlite-amalgamation-3071602.zip
и sqlite-dll-win32-x86-3071602.zip
в C:/distr/sqlite
.
HEADS UP
Вам все равно нужно поместить копию sqlite3.dll
и sqlite3.def
где-нибудь в PATH. IMHO лучше сохранить двоичные файлы sqlite3 в папке bin ruby.
Получите жирный двоичный код здесь
https://ci.appveyor.com/project/MSP-Greg/sqlite3-ruby/build/3/job/hhk6ie8gdo545svr/artifacts
и
gem install c:\path\to\downloaded_gem.gem
#!/usr/bin/env sh
mkdir c:/sqlite3x86
wget -P c:/sqlite3x86 http://packages.openknapsack.org/sqlite/sqlite-3.7.15.2-x86-windows.tar.lzma
cd c:/sqlite3x86
bsdtar --lzma -xf c:/sqlite3x86/sqlite-3.7.15.2-x86-windows.tar.lzma
gem install sqlite3 --platform=ruby -- --with-opt-dir=c:/sqlite3x86
cd c:/
rm -rf c:/sqlite3x86
Самый простой способ настроить Ruby on Rails на машине Windows - это использовать RailsInstaller, который автоматически устанавливает и настраивает sqlite3 для вас. Один шаг.
Для окон перейдите к C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/sqlite3-1.3.13-x64-mingw32/lib/sqlite3.rb
и убедитесь, что
require "sqlite3"
вместо native
gem install
внутри терминала MINGW32. Теперь я получаю эту ошибку при запуске сервера Rails: c: /Ruby200-x64/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/lib/sqlite3.rb: 6: in `require ': не может загрузить такой файл - sqlite3 / sqlite3_native (LoadError) – at. 13 May 2013 в 11:50gem install sqlite3 -- --with-sqlite3-include=/c/sqlite-autoconf-3071700/ --with-sqlite3-lib=/c/sqlite-autoconf-3071700/
(я извлечил исходный код на C: \ sqlite-autoconf-3071700 на моей машине) – Paul 29 June 2013 в 20:52