Давайте Подпоём Синатре. Первая Часть. Первая Встреча

Добрый день!



Что такое Синатра

Синатра — небольшой, но довольно интересный фреймворк 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 .

Вуаля!

Давайте подпоём Синатре.
</p><p>
 Первая часть.
</p><p>
 Первая встреча

Поздравляем! Мы только что написали наше первое веб-приложение, используя Sinatra.

разбор полетов

Несмотря на то, что это был простой пример, не помешало бы разобраться, что делает наш код. Вначале хотелось бы отметить, что при разработке веб-приложений я использую Ruby версии 1.9. Если вы используете версию 1.8, вам нужно добавить в код еще одну строку.

Вот она:

require "rubygems"

Давайте двигаться дальше.

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

на главную страницу, где мы приветствуем Фрэнка.

Если пользователь указывает в адресной строке, например, , то он получает следующую ошибку:

Давайте подпоём Синатре.
</p><p>
 Первая часть.
</p><p>
 Первая встреча

Давайте обработаем ошибку Не найдено .

Вы можете сделать это следующим образом:

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/привет/ваше_имя и вы увидите приветствие, адресованное вам.

Например:

Давайте подпоём Синатре.
</p><p>
 Первая часть.
</p><p>
 Первая встреча



Я там, где ты

Именно этим выражением можно охарактеризовать ситуацию, когда нам нужно, например, предоставить пользователю только одну страницу, но независимо от того, какой адрес он наберет. Это делается путем указания звездочки после косой черты.

Так:

get "/*" do "It's the main page of this site you can see right now!" end

Теперь, куда бы вы ни пошли, вы увидите одну и ту же страницу.

Кстати, вот оно:

Давайте подпоём Синатре.
</p><p>
 Первая часть.
</p><p>
 Первая встреча



Давайте подпоём Синатре.
</p><p>
 Первая часть.
</p><p>
 Первая встреча



Давайте подпоём Синатре.
</p><p>
 Первая часть.
</p><p>
 Первая встреча



Давайте подпоём Синатре.
</p><p>
 Первая часть.
</p><p>
 Первая встреча

Мы можем получить значение параметра, указанного в URI, используя атрибут шлепок .

Так:

get "/*" do "I don't know what is the #{params[:splat]}.

It's what you typed." end

Вуаля! Чтобы мы не печатали в адресной строке, а видели набранный URI.

Давайте подпоём Синатре.
</p><p>
 Первая часть.
</p><p>
 Первая встреча



Давайте подпоём Синатре.
</p><p>
 Первая часть.
</p><p>
 Первая встреча



Заключение

Это все на сегодня.

Несмотря на размер темы, мы проанализировали некоторые схемы маршрутизации в Sinatra. Надеюсь, это вызовет у вас желание побыстрее познакомиться с этим фреймворком, позволяющим писать веб-приложения с беспрецедентной скоростью.

Это всего лишь отправная точка и не более того.



Куда идти дальше

Знакомство с Синатрой .

Официальный сайт Синатры .

Пение с Синатрой .

Теги: #рубин #Синатра #ты поешь #dsl #framework #ruby

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.