我已阅读有关此主题的先前主题,但我在那里找到的解决方案并没有解决我的问题。我有一个不进行数据库访问的 rails 3.2.9 应用程序 - 它使用 HTTP Rest 协议连接到另一个应用程序来访问持久数据。该应用程序在使用 WEBrick 的“rails 服务器”的本地测试环境中运行正常,但无法使用 Nginx/Passenger 运行,并出现错误“ * Exception LoadError in application(请安装 sqlite3 适配器:gem install activerecord-sqlite3-adapter
(sqlite3 不是捆绑包的一部分。将其添加到 Gemfile。))“。从堆栈跟踪看来,ActiveRecord 想要在处理请求之前执行的代码中急切地建立数据库连接。我试图遵循从我的依赖项中删除 ActiveRecord 的说明没有运气。我使用 --skip-activerecord 生成,它按预期生成了这样的 application.rb:
require File.expand_path('../boot', __FILE__)
# Pick the frameworks you want:
# require "active_record/railtie"
require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
require "sprockets/railtie"
require "rails/test_unit/railtie"
除了在 bundler 创建的 gemlock 文件、注释和自述文件中之外,我的应用程序中的任何地方都没有对 activerecord 或 active_record 的引用。Bundler 将 ActiveRecord 报告为依赖项,而“bundle viz”将 rails 本身报告为需要 ActiveRecord 的 gem。任何建议或意见都将受到欢迎。
回答 eric 的问题,这是我的 Gemfile
source 'https://rubygems.org'
gem 'rails', '3.2.9'
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'