рубин на рельсах исполнение - PullRequest
0 голосов
/ 31 декабря 2010

Я новичок в Ruby on Rails.Я стараюсь изо всех сил, чтобы узнать это через книгу Agile Web Development Используя Rails .Я застрял, пытаясь понять концепции, лежащие в основе исполнения.

Я создал новый проект, используя rails_apps> rails demo.Книга попросила меня создать контроллер с именем Say (обратите внимание на заглавную "S"), и произошло следующее:

  1. была папка с именем say (обратите внимание на строчные буквы "s")внутри папки "views"
  2. был файл контроллера: say_controller ".

Затем я сделал запрос через http://localhost/say/hello. Я действительно смущен тем фактом, чтомое демо с именем проекта нигде не указано в запросе. Что произойдет, если я создам другой контроллер, скажем, в другом проекте, и сделаю тот же запрос?

И почему это слово имеет строчные буквы в запросе вместо прописныхS? Что здесь происходит за занавесом?

Ответы [ 2 ]

4 голосов
/ 31 декабря 2010

Когда вы запускаете команду rails server, она запускает процесс, предназначенный только для конкретного приложения. Он видит запрос от браузера для этого приложения и обслуживает соответствующий контент.

Если вы создали другое приложение, вы не сможете запустить его на том же порте, что и исходное приложение. Вам нужно будет запустить rails server -p NEW_PORT, где NEW_PORT отличается от уже запущенного приложения rails. Тогда вы сможете получить доступ к приложению с http://localhost:NEW_PORT

Несколько серверов позволяют вам иметь одинаковые контроллеры в разных приложениях, потому что они теперь совершенно разные экземпляры.

0 голосов
/ 01 января 2011

Отвечая на ваши вопросы один за другим:

«Имя» вашего приложения (параметр, который вы предоставляете сценарию rails ) нигде не используется, кроме именикаталог.Я считаю, что это дает свободу не быть привязанным к выбранному имени.

Другой контроллер в другом проекте будет полностью независимым.Два проекта будут работать на разных портах (при использовании встроенного веб-сервера) или на разных путях (при использовании другого веб-сервера, такого как Apache.)в Rails и просто продиктованы соглашением.Вот пост с некоторыми примерами.http://itsignals.cascadia.com.au/?p=7

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