Добрый день!
Что такое Синатра
Синатра — небольшой, но довольно интересный фреймворк DSL (Domain-dependent Language), написанный на Ruby. В отличие от Ruby on Rails, он не следует типичному шаблону MVC (Модель – Представление – Контроллер).Sinatra был создан для того, чтобы «программист мог быстро создать веб-приложение, написанное на Ruby, с минимальными усилиями.
Чтобы использовать Sinatra, нам необходимо его установить.
Вы можете сделать это с помощью следующей команды в RubyGems: установка драгоценного камня Синатры Нам также понадобится драгоценный камень под названием Дробовик .
Это нужно нам для того, чтобы не пришлось вручную перезагружать сервер повторно.
Дробовик сделает это за нас.
Давайте установим его: дробовик с установкой драгоценного камня Ну вот и все! У нас есть все необходимое для работы.
Настал момент творчества.
Давайте начнем.
Привет Синатра!
И мы напишем простое приложение, которое приветствует само себя.Я искренне надеюсь, что Фрэнк не перевернется в гробу.
Итак, вот наше приложение:
Остается только запустить сервер.require "sinatra" get "/" do "Hello, Sinatra!" end
Вы можете сделать это, введя следующую команду: Ruby -rubygems путь_к_файлу\app.rb Теперь мы можем открыть браузер.
Вам необходимо ввести адрес в омнибокс локальный хост: 4567 .
Вуаля!
Поздравляем! Мы только что написали наше первое веб-приложение, используя Sinatra.
разбор полетов
Несмотря на то, что это был простой пример, не помешало бы разобраться, что делает наш код. Вначале хотелось бы отметить, что при разработке веб-приложений я использую Ruby версии 1.9. Если вы используете версию 1.8, вам нужно добавить в код еще одну строку.
Вот она: require "rubygems"
Давайте двигаться дальше.
Мы сообщаем нашему приложению, что если пользователь введет в адресную строку адрес нашего сайта, то он попадет на эту страницу, т.е.
на главную страницу, где мы приветствуем Фрэнка.
Если пользователь указывает в адресной строке, например, /о , то он получает следующую ошибку:
Давайте обработаем ошибку Не найдено .
Вы можете сделать это следующим образом: not_found do
status 404
"Something wrong! Try to type URL correctly or call to UFO."
end
Теперь введем в адресную строку локальный хост: 4567/о и мы увидим нашу страницу, которая сообщает пользователю, что произошло что-то неладное.
Здравствуйте, %username%
Пришло время вспомнить, что мы встретили Фрэнка, но его нет с нами.Не дай Бог, конечно.
Но мы можем заставить наш браузер приветствовать нас.
Это можно сделать с помощью параметра имя .
Его обработка будет выглядеть так: get "/hello/:name" do
"Hello, #{params[:name]}.
"
end
Осталось только набрать локальный хост: 4567/привет/ваше_имя и вы увидите приветствие, адресованное вам.
Например:
Я там, где ты
Именно этим выражением можно охарактеризовать ситуацию, когда нам нужно, например, предоставить пользователю только одну страницу, но независимо от того, какой адрес он наберет. Это делается путем указания звездочки после косой черты.
Так: get "/*" do
"It's the main page of this site you can see right now!"
end
Теперь, куда бы вы ни пошли, вы увидите одну и ту же страницу.
Кстати, вот оно:
Мы можем получить значение параметра, указанного в URI, используя атрибут шлепок .
Так: get "/*" do
"I don't know what is the #{params[:splat]}.
It's what you typed."
end
Вуаля! Чтобы мы не печатали в адресной строке, а видели набранный URI.
Заключение
Это все на сегодня.Несмотря на размер темы, мы проанализировали некоторые схемы маршрутизации в Sinatra. Надеюсь, это вызовет у вас желание побыстрее познакомиться с этим фреймворком, позволяющим писать веб-приложения с беспрецедентной скоростью.
Это всего лишь отправная точка и не более того.
Куда идти дальше
Знакомство с Синатрой .Теги: #рубин #Синатра #ты поешь #dsl #framework #ruby
-
Покупка Чужих Сайтов И Захват Их Бизнеса
19 Oct, 24 -
«Предсказанная» Дата Анонса 8.0-Release
19 Oct, 24 -
Читалка От Asus И Немного О Технологии Sipix
19 Oct, 24 -
О Ооп
19 Oct, 24 -
Silverlight 3 Beta — Все Ссылки И Функции
19 Oct, 24