我试图从Rails 3.2.3应用程序中提取一组模型到一个gem,以便它们可以用作应用程序之间的共享接口.
我将模型移动到一个模块中,并将其放在lib / invite_interface / invite.rb中
module InviteInterface class Invite < ActiveRecord::Base belongs_to :user end def to_json; end; def from_json; end; end
我将rspec放入gemfile,成功运行,创建了以下规范:
require 'spec_helper' describe InviteInterface::EncounterSurvey do it 'should belong to user' do subject.should respond_to(:user) end end
不幸的是,我无法在模型上执行rspec,因为活动记录/ rspec需要一个活动的连接.
1) InviteInterface::Invite should belong to encounter survey set Failure/Error: subject.should respond_to(:user) ActiveRecord::ConnectionNotEstablished: ActiveRecord::ConnectionNotEstablished # /Users/justin/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:398:in `retrieve_connection' # /Users/justin/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_specification.rb:168:in `retrieve_connection' # /Users/justin/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_specification.rb:142:in `connection' # /Users/justin/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/activerecord-3.2.3/lib/active_record/model_schema.rb:228:in `columns' # /Users/justin/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/activerecord-3.2.3/lib/active_record/model_schema.rb:243:in `column_defaults'
如何防止ActiveRecord查找数据库连接?