- https://rubygems.org/gems/sinatra-reloader - gem sinatra reloader
- https://rubygems.org/gems/sinatra-contrib - gem sinatra contrib (в его состав входит sinatra-reloader, возможно в некоторых случаях надо попробовать поставить его).
Надо установить гем sinatra-reloader:
gem install sinatra-reloader
или установить sinatra-contrib:
gem install sinatra-contrib
или так:
sudo apt install ruby-sinatra-contrib
и, добавляем в свои app.rb строчку:
require 'sinatra/reloader'
app.rb:
require 'sinatra'
get '/' do
erb "Hello all Ruby-programmers!"
end
views/layout.erb:
<h1>Some text</h1>
<%= yield %>
Информация из app.rb будет помещена в yield в views/layout.erb
В файле views/layout.erb можно сделать основной каркас страницы, разместить yield и уже из других erb подгружать информацию.
app.rb
get '/foo' do
erb :foo
end
views/layout.erb
<p>This block for all site</p>
<p>Block navigation</p>
<%= yield %>
views/foo.erb
<h1>Foo Header</h1>
<p>Text for Foo.</p>
def show_me_text
puts "<body>"
yield
puts "</body>"
end
show_me_text { puts "Foo!" }
# OR:
show_me_text do
puts "Foo!"
end
# puts "Foo!" вставится в место, где указан yield
В Babershop добавить возможность выбора парикмахера (через select).
В views/index.erb добавить часть кода:
<label for="baber">Выбор парикмахера</label>
<select name="baber">
<option value="none" selected>Выберите парикмахера...</option>
<option value="Петрович">Петрович</option>
<option value="Макарыч">Макарыч</option>
<option value="Федорыч">Федорыч</option>
</select>
А, в babershop-2.rb добавить и исправить код:
post '/' do
# user_name, phone, date_time
@user_name = params[:user_name]
@phone = params[:phone]
@date_time = params[:date_time]
@baber = params[:baber]
@title = "Thank you!"
@message = "Уважаемый #{@user_name}, мы ждём вас #{@date_time} у выбранного парикмахера #{@baber}."
# запишем в файл то, что ввёл клиент
f = File.open 'users.txt', 'a'
f.write "User: #{@user_name}, phone: #{@phone}, date and time: #{@date_time}. Baber: #{@baber}.\n"
f.close
erb :message
end
Здесь мы добавили код:
@baber = params[:baber]
плюс добавили в @message и в код записи в файл f.write
Следующий урок: https://github.com/krdprog/rubyschool-notes/blob/master/one-by-one/lesson-23.md
N | N | N | N | N | N | N | N | N | N |
---|---|---|---|---|---|---|---|---|---|
01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 |
41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 |