Я успешно написал небольшое приложение Sinatra и уже успешно развернул его на heroku.
Однако я хочу запустить это приложение в режиме разработки на своем локальном компьютере, и я хочу, чтобы он один раз был в рабочем режиме на herokuЯ помещаю его в удаленный репозиторий.
В настоящее время я могу выполнить любой из этих вариантов.Когда я изменяю свой config.ru на следующие значения:
require 'rubygems'
require 'sinatra'
require 'sinatra/reloader'
require "./calc.rb"
enable :logging
set :environment, :development
set :port, 4567
Я могу запустить его локально (через порт 4567) через ruby config.ru
.Когда я изменяю config.ru на это:
require 'rubygems'
require 'sinatra'
require 'sinatra/reloader'
require "./calc.rb"
enable :logging
set :environment, :production
set :port, 4567
run Sinatra::Application
Я могу заставить его работать на Heroku (на порту 80).
Но я не могу использовать ту же конфигурациюкак для разработки, так и для производства.
Я хотел бы иметь что-то вроде:
ruby config.ru dev
для разработки и ruby config.ru
для производства.
Дополнительная информация:
Когда я пытаюсь запустить производственный config.ru на моей локальной машине, я получаю:
$ ruby config.ru
(eval):2:in `method_missing': undefined method `run' for main:Object (NoMethodError)
from (eval):4:in `__send__'
from (eval):4:in `method_missing'
from config.ru:10