Почему я должен перезапустить apache, чтобы правильно обновить представление Ruby on Rails в браузере? - PullRequest
0 голосов
/ 10 июля 2009

Я пытаюсь немного выучить Ruby. Я установил Ruby на свою машину с Ubuntu и использую apache. Все работает отлично, за исключением обновления представления. Я должен перезапустить apache в консоли, а затем нажать ctrl-r, просто нажав Ctrl-r, браузер не обновится.

Очевидно, что происходит некоторое кеширование, но так ли это должно быть, то есть присуще ли ему Ruby on Rails? Я попытался поиграть в это, но, похоже, единственный ответ - установить какую-то скучную рутину. Для развития это кажется довольно утомительным путем.

Ответы [ 5 ]

5 голосов
/ 10 июля 2009

Apache - отличный выбор для разработки.

Просто установите Passenger (mod_rails) ... и следуйте инструкциям ...

Я настроил его для каждого сайта, чтобы / etc / hosts содержал

127.0.0.1 myapp

Я использую виртуальные хосты Apache с такой записью - в / etc / apache2 / sites-available / myapp

<VirtualHost *:80>
  ServerName myapp
  DocumentRoot /path/to/myapp/public
  RailsEnv development
  RailsAllowModRewrite off
    <directory "/path/to/myapp/public">
      Order allow,deny
      Allow from all
    </directory>
</VirtualHost>

Включить и перезапустить

sudo a2ensite myapp
sudo /etc/init.d/apache2 restart

Таким образом, нет запущенного скрипта / сервера ... он просто всегда работает в режиме разработки - просто укажите в браузере http://myapp

3 голосов
/ 10 июля 2009

Не используйте apache для режима разработки. Используйте скрипт / сервер и установите драгоценный камень монгрел (sudo gem install mongrel). Mongrel работает быстрее, чем WEBrick, и выводит журнал разработки на консоль, в которой он работает. Это делает развитие достойным.

0 голосов
/ 12 октября 2011

Я использую Apache с mod_fcgid. Я обнаружил, что происходит

$ touch ${MYAPP}/tmp/restart.txt

каждый раз, когда я хочу, чтобы перезагруженное приложение работало на меня.

0 голосов
/ 10 июля 2009

Я использую Apache с Passenger (он же modrails) для целей разработки, и он отлично работает здесь. Просто убедитесь, что вы используете Rails в режиме разработки, установив "RailsEnv development" в вашем httpd.conf.

0 голосов
/ 10 июля 2009

Apache не является хорошим выбором для разработки в таких случаях, как Rails, потому что вам действительно придется перезапускать сервер каждый раз, когда вы меняете код. Rails поставляется со своим собственным сервером разработки, который вы можете запустить, выполнив (IIRC) скрипт / сервер. Он гораздо больше подходит для разработки, так как его не нужно перезапускать после каждого небольшого изменения.

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