Rails:未定义的方法’paginates_per’

我正在将一个名为Carrier https://github.com/stanislaw/carrier/blob/master/Gemfile的gem安装到Rails 3.2.1应用程序中。 它使用Kaminari,当我在我的Gemfile中添加gem“carrier”后进行捆绑安装时,它显示我正在使用kaminari

Using kaminari (0.13.0) 

但是,当我尝试rake db:migrate时,我收到了这个错误

 rake aborted undefined method `paginates_per' for Carrier::Chain(Table doesn't exist):Class 

任何人都可以建议修复此问题吗? 我已经从下面的Carrier gem中复制了gemfile,并在下面复制了我自己的应用程序的Gemfile

(Carrier gem Gemfile)源码“http://rubygems.org”

 gem 'require_all' gem 'kaminari' gem 'unread' gem 'sugar-high' gem 'sweetloader' group :development, :test do gem 'rails', '~> 3.1.0' gem 'unicorn' gem 'mysql2' gem 'devise' gem 'rake-kit' gem 'cutter' gem "jeweler", ">= 1.6.4" gem "rspec-rails", '>= 2.5' end group :test do gem 'capybara' gem 'factory_girl' gem 'spork' gem "launchy" gem 'shoulda' end 

我的入门应用程序的Gemfile

 source 'https://rubygems.org' gem 'rails', '3.2.1' # Bundle edge Rails instead: # gem 'rails', :git => 'git://github.com/rails/rails.git' gem 'pg' gem 'devise' gem 'carrier' # Gems used only for assets and not required # in production environments by default. group :assets do gem 'sass-rails', '~> 3.2.3' gem 'coffee-rails', '~> 3.2.1' # See https://github.com/sstephenson/execjs#readme for more supported runtimes # gem 'therubyracer' gem 'uglifier', '>= 1.0.3' end gem 'jquery-rails' # To use ActiveModel has_secure_password # gem 'bcrypt-ruby', '~> 3.0.0' # To use Jbuilder templates for JSON # gem 'jbuilder' # Use unicorn as the web server # gem 'unicorn' # Deploy with Capistrano # gem 'capistrano' # To use debugger # gem 'ruby-debug19', :require => 'ruby-debug' 

更新这些是我运行安装时安装的迁移:迁移

 rake carrier:install:migrations Copied migration 20120229055640_create_messages.carrier.rb from carrier Copied migration 20120229055641_create_chains.carrier.rb from carrier 

更新

我试图在另一个git分支上重新安装它,这次我在运行rake db:migrate时遇到了一个稍微不同的错误

 rake aborted! undefined method `acts_as_readable' for Carrier::Message(Table doesn't exist):Class Tasks: TOP => db:migrate => environment (See full trace by running task with --trace) 

您似乎缺少一些Carrier试图做的数据库支持。 从运营商自述文件看,您似乎需要在运行db:migrate之前运行rake carrier:install:migrations 。 你做到了吗?