2015-08-27 2 views
1

Я установил puma много раз раньше и никогда не имел этой проблемы. Я следую инструкциям героку дословно. Я создал Procfile с этим внутри:Пума-инициализатор не работает с рельсами 4.2

web: bundle exec puma -C config/puma.rb 

Здесь находится файл конфигурации puma.rb:

workers Integer(ENV['WEB_CONCURRENCY'] || 2) 
threads_count = Integer(ENV['MAX_THREADS'] || 5) 
threads threads_count, threads_count 

preload_app! 

rackup  DefaultRackup 
port  ENV['PORT']  || 3000 
environment ENV['RACK_ENV'] || 'development' 

on_worker_boot do 
    # Worker specific setup for Rails 4.1+ 
    # See: https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server#on-worker-boot 
    ActiveRecord::Base.establish_connection 
end 

Когда я запустить сервер, запустив rails s или rails s puma я получить

=> Booting Puma 
=> Rails 4.2.0 application starting in development on http://localhost:3000 
=> Run `rails server -h` for more startup options 
=> Ctrl-C to shutdown server 
Exiting 
/Users/david/projects/abc/config/initializers/puma.rb:1:in `<top (required)>': undefined method `workers' for main:Object (NoMethodError) 

Что происходит и как его исправить? Я использую sqlite3 в разработке и postgresql в производстве, но я получаю ту же ошибку в обеих средах. Я использую rails 4.2.0 и ruby ​​2.2.0.

ответ

1

Вы должны иметь gem 'puma' в вашем Gemfile

Edit: puma.rb не должен находиться в папке инициализаторов, но снаружи в папке конфигурации. Благодаря Nicolai

+0

я. У меня есть драгоценный камень, и я связал его. – Philip7899

+0

Не могли бы вы попробовать добавить '' require 'puma''' перед '' work Integer (ENV [' WEB_CONCURRENCY '] || 2) '' line? – Zepplock

+0

Спасибо. Пробовал это. Я все равно получаю ту же ошибку. – Philip7899

0

puma.rb не должен находиться в папке инициализаторов, но вне в папке конфигурации

Смежные вопросы