Изменить сервер по умолчанию для Rails - PullRequest
0 голосов
/ 25 августа 2011

Я установил гем Монгрел, потому что он мне нужен на моей рабочей станции в редких случаях, и теперь это мой сервер Rails (2) по умолчанию.Я знаю, что мог бы указать script/server webrick в командной строке, но дело в том, что я хотел бы, чтобы моя система (или приложение) по умолчанию использовала webrick, и использовал только mongrel, когда он указан.

Кто-нибудь знает, какустроить это?

Спецификации: WinXP, Rails 2.3.12, Ruby 1.8.7

1 Ответ

1 голос
/ 26 августа 2011

Хорошо, вот несколько вариантов:

Вариант один - Один раз: всегда добавляйте webrick в качестве командной строки arg

Откройте скрипт / сервер и вставьте строку между ними, требуется

#!/usr/bin/env ruby
require File.expand_path('../../config/boot',  __FILE__)
ARGV.unshift "webrick"
require 'commands/server'

Второй вариант: глобальный: отредактируйте файл commands / server.rb, который запускает rails

gem which railties -> сообщает вам, где находится код запуска Откройте файл на lib / commands / server.rb

Вокруг строки 45 отредактируйте логику так, чтобы webrick всегда запускался по умолчанию.

server = Rack::Handler.get(ARGV.first) rescue nil
unless server
  begin
    server = Rack::Handler::WEBrick # was Mongrel
  rescue LoadError => e
    server = Rack::Handler::WEBrick
  end
end

Вариант 3 - Самый чистый, но наиболее сложный:

Переключитесь на Bundler иуправлять своими зависимостями напрямую.Это больше работы, но позволяет вам переключиться на рельсы 3 в какой-то момент, что может быть полезно в зависимости от жизненного цикла приложения.Здесь есть учебник по рельсам 2.3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...