Rails: неопределенный метод 'paginates_per' - PullRequest
3 голосов
/ 29 февраля 2012

Я устанавливаю гем под названием Carrier https://github.com/stanislaw/carrier/blob/master/Gemfile в приложение Rails 3.2.1.Он использует Kaminari, и когда я установил пакет после добавления gem «carrier» в свой Gemfile, он показал, что я использовал kaminari

Using kaminari (0.13.0) 

Однако, когда я попытался взломать db: migrate, я получил эту ошибку

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

Кто-нибудь может предложить исправить это?Я скопировал гемфайл из гема Carrier ниже и Gemfile для моего собственного приложения под этим

(Gemfile Carrier 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)

1 Ответ

2 голосов
/ 29 февраля 2012

Похоже, вам не хватает какой-то базы данных для того, что пытается сделать Carrier.Из readme Carrier, похоже, вам нужно запустить rake carrier:install:migrations перед запуском db: migrate.Вы сделали это?

...