Rspec с рельсами 3.1 дает предупреждение об устаревании ActiveRecord :: Associations :: AssociationCollection устарела? - PullRequest
11 голосов
/ 26 сентября 2011

Я обновился до rails 3.1, и у меня есть некоторые проблемы с моими тестами, которые отлично работали раньше.

Перед тестами я получаю следующее предупреждение:

ПРЕДУПРЕЖДЕНИЕ О УСТРАНЕНИИ: ActiveRecord :: Associations:: AssociationCollection устарела!Вместо этого используйте ActiveRecord :: Associations :: CollectionProxy.(вызывается из /home/user/rails_projects/project/config/environment.rb:5)

Как я могу использовать CollectionProxy вместо AssociationCollection?

Вот мой Gemfile:

source 'http://rubygems.org'

gem 'rails', '3.1.0'
gem 'jquery-rails'
gem "therubyracer", "~> 0.9.4"

gem 'carrierwave', '0.5.6'
gem 'haml', '~>3.1.2'
gem 'mysql2', '0.3.7'
gem 'rmagick', '2.13.1'
gem 'sitemap_generator', '2.0.1'
gem 'whenever', '0.6.8', :require => false
gem 'will_paginate', '3.0.pre2'

group :assets do
  gem 'sass-rails', "  ~> 3.1.0"
  gem 'coffee-rails', "~> 3.1.0"
  gem 'uglifier'
end

group :development do
  gem 'rspec-rails', '2.6.1'
  gem 'annotate-models', '1.0.4'
  gem 'faker', '0.9.5', :require => false
  gem 'ruby-debug19', '0.11.6'
end

group :test do
  gem 'rspec-rails', '2.6.1'
  gem 'webrat', '0.7.3'
  gem 'factory_girl_rails', '1.0'
  gem 'spork', '~> 0.9.0.rc'
end

Это мое окружение. Rb:

# Load the rails application
require File.expand_path('../application', __FILE__)

# Initialize the rails application
Project::Application.initialize!

Спасибо!

1 Ответ

18 голосов
/ 27 сентября 2011

У меня была та же проблема, и я исправил ее, обновив до последней версии will_paginate. Итак, измените это: gem 'will_paginate', '3.0.pre2'

к этому: gem "will_paginate", "~> 3.0.2"

Сохраните ваш Gemfile, затем выполните установку пакета.

...