mirror of
https://github.com/sinatra/sinatra
synced 2023-03-27 23:18:01 -04:00
Corrections. Thank you vast.
Signed-off-by: Konstantin Haase <konstantin.mailinglists@googlemail.com>
This commit is contained in:
parent
0c089a1180
commit
5f5eeaab68
1 changed files with 10 additions and 11 deletions
|
@ -20,7 +20,7 @@ Sinatra это предметно-ориентированный язык для
|
|||
|
||||
== Пути
|
||||
|
||||
В Sinatra, путь это HTTP метод на пару с сочетающимся шаблоном URL.
|
||||
В Sinatra, путь это HTTP метод на пару с совпадающим шаблоном URL.
|
||||
Каждый путь ассоциирован с блоком:
|
||||
|
||||
get '/' do
|
||||
|
@ -39,14 +39,13 @@ Sinatra это предметно-ориентированный язык для
|
|||
.. что-то удалить ..
|
||||
end
|
||||
|
||||
Пути проверяются по очередности определения. Первый же путь сочетающийся
|
||||
c запросом будет вызван.
|
||||
Пути проверяются по очередности определения. Первый же совпавший с запросом путь и будет вызван.
|
||||
|
||||
Шаблоны путей могут включать в себя параметры доступные в
|
||||
<tt>params</tt> xэше:
|
||||
|
||||
get '/hello/:name' do
|
||||
# сочетается с "GET /hello/foo" и "GET /hello/bar",
|
||||
# совпадает с "GET /hello/foo" и "GET /hello/bar",
|
||||
# где params[:name] 'foo' или 'bar'
|
||||
"Hello #{params[:name]}!"
|
||||
end
|
||||
|
@ -61,16 +60,16 @@ c запросом будет вызван.
|
|||
в <tt>params[:splat]</tt> массиве.
|
||||
|
||||
get '/say/*/to/*' do
|
||||
# сочетается с /say/hello/to/world
|
||||
# совпадает с /say/hello/to/world
|
||||
params[:splat] # => ["hello", "world"]
|
||||
end
|
||||
|
||||
get '/download/*.*' do
|
||||
# сочетается с /download/path/to/file.xml
|
||||
# совпадает с /download/path/to/file.xml
|
||||
params[:splat] # => ["path/to/file", "xml"]
|
||||
end
|
||||
|
||||
Пути могут также сочетаться с регулярными выражениями напрямую:
|
||||
Пути также могут совпадать с регулярными выражениями:
|
||||
|
||||
get %r{/hello/([\w]+)} do
|
||||
"Hello, #{params[:captures].first}!"
|
||||
|
@ -84,14 +83,14 @@ c запросом будет вызван.
|
|||
|
||||
=== Условия
|
||||
|
||||
Пути могут включать различные сочетающиеся условия, такие как user agent:
|
||||
Пути могут включать различные условия совпадений, такие как user agent:
|
||||
|
||||
get '/foo', :agent => /Songbird (\d\.\d)[\d\/]*?/ do
|
||||
"You're using Songbird version #{params[:agent][0]}"
|
||||
end
|
||||
|
||||
get '/foo' do
|
||||
# сочетается с non-songbird браузерами
|
||||
# совпадает с non-songbird браузерами
|
||||
end
|
||||
|
||||
Другими доступными условиями являются +host_name+ и +provides+:
|
||||
|
@ -122,7 +121,7 @@ c запросом будет вызван.
|
|||
|
||||
=== Возвращаемые значения
|
||||
|
||||
Возвращаемое значения блока определяет как минимум тело ответа переданное HTTP клиенту,
|
||||
Возвращаемое значение блока определяет как минимум тело ответа переданное HTTP клиенту,
|
||||
или хотя бы следующему подпрограммному обеспечению из Rack стека.
|
||||
Чаще всего это строка, как в выше изложенных примерах. Но другие значения также доступны.
|
||||
|
||||
|
@ -165,7 +164,7 @@ c запросом будет вызван.
|
|||
Важно помнить что вы всегда должны указывать шаблоны
|
||||
с помощью символов даже если это подкаталог (в этом случае
|
||||
успользуйте <tt>:'subdir/template'</tt>). Вы должны использовать
|
||||
символ иначе методы ответственные за рендеринг отобразят только строку переданную им.
|
||||
символ иначе методы, ответственные за рендеринг, отобразят переданную им строку.
|
||||
|
||||
=== Haml шаблоны
|
||||
|
||||
|
|
Loading…
Reference in a new issue