Что такое стойка?я могу использовать его для создания веб-приложений с Ruby? - PullRequest
15 голосов
/ 10 марта 2011

Руби оповещение новичка!(эй, что рифмуется:))

Я прочитал официальное определение, но все еще выступаю с пустыми руками.Что именно, когда они говорят, промежуточное программное обеспечение?Является ли цель использования ruby ​​с https?

небольшим уроком в блоге Патнаика, который проясняет ситуацию, но как мне сделать что-то с ним на localhost?У меня установлен ruby ​​1.9.2 вместе с сервером стойки и сервером mongrel.

Сначала запустить mongrel?Как?

Ответы [ 3 ]

34 голосов
/ 10 марта 2011

Просто добавьте упрощенное объяснение Rack (как мне кажется, его не хватает):

Rack - это, по сути, способ, с помощью которого веб-приложение может взаимодействовать с веб-сервером.Связь происходит следующим образом:

  1. Веб-сервер сообщает приложению о environment - он содержит в основном то, что пользователь отправил в качестве своего запроса - URL, заголовки, будь то GET илиPOST и т. д.
  2. Веб-приложение отвечает тремя вещами:
    • код status, который будет выглядеть примерно так: 200, когда все прошло нормально, и выше 400, когда что-то происходит.неправильно.
    • headers, который представляет собой информацию, которую веб-браузеры могут использовать как информацию о том, как долго можно удерживать веб-страницу в своем кеше и прочем.
    • body, который являетсяреальная веб-страница, которую вы видите в браузере.

Эти два шага более или менее могут определить весь процесс работы веб-приложений.

Так что очень простоПриложение в стойке может выглядеть так:

class MyApp
  def call(environment) # this method has to be named call
    [200, # the status code
     {"Content-Type" => "text/plain", "Content-length" => "11" }, # headers
     ["Hello world"]] # the body
  end
end

# presuming you have rack & webrick
if $0 == __FILE__
  require 'rack'
  Rack::Handler::WEBrick.run MyApp.new
end
8 голосов
/ 10 марта 2011

Тебе не помешает поискать другие вопросы и ответы, которые имеют для тебя смысл.Попробуйте "Начало работы с Rails" или "Ruby Web Development". много различных тем на этом сайте было посвящено именно этой теме, так что вы можете избежать некоторых проблем ...

Не обращая внимания на конкретность вашего вопроса на минуту, этоПохоже, вы хотите изучать Ruby и создавать веб-приложения.Прежде чем вы начнете изучать Rack, Mongrel или что-то еще, вы должны знать, что есть 2 хорошо зарекомендовавшие себя фреймворки, которые помогают создавать веб-приложения на Ruby.Первый - это Ruby on Rails, а другой - Синатра.Есть много других, но они наиболее хорошо документированы о переполнении стека и Интернете в целом.

Проверьте следующие ссылки для некоторого фона ...

Если у вас все еще есть горячее желание ответить на ваш вопрос - «чтотакое стойка? ", вы должны выполнить тот же процесс и в итоге получить переполнение стека Ответ:

Что такое промежуточное ПО для стойки?

Удачи!

0 голосов
/ 26 марта 2015

Очень хорошие ответы, да, действительно. Для моих двух центов я добавлю это, потому что если вы знаете, как получить доступ к документации за кулисами здесь, вы найдете много информации, поскольку у меня она спрятана здесь, и ни в коем случае не все, что у меня есть. http://myrackapps.herokuapp.com/

...