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
|
get '/' do
|
||||||
|
@ -39,14 +39,13 @@ Sinatra это предметно-ориентированный язык для
|
||||||
.. что-то удалить ..
|
.. что-то удалить ..
|
||||||
end
|
end
|
||||||
|
|
||||||
Пути проверяются по очередности определения. Первый же путь сочетающийся
|
Пути проверяются по очередности определения. Первый же совпавший с запросом путь и будет вызван.
|
||||||
c запросом будет вызван.
|
|
||||||
|
|
||||||
Шаблоны путей могут включать в себя параметры доступные в
|
Шаблоны путей могут включать в себя параметры доступные в
|
||||||
<tt>params</tt> xэше:
|
<tt>params</tt> xэше:
|
||||||
|
|
||||||
get '/hello/:name' do
|
get '/hello/:name' do
|
||||||
# сочетается с "GET /hello/foo" и "GET /hello/bar",
|
# совпадает с "GET /hello/foo" и "GET /hello/bar",
|
||||||
# где params[:name] 'foo' или 'bar'
|
# где params[:name] 'foo' или 'bar'
|
||||||
"Hello #{params[:name]}!"
|
"Hello #{params[:name]}!"
|
||||||
end
|
end
|
||||||
|
@ -61,16 +60,16 @@ c запросом будет вызван.
|
||||||
в <tt>params[:splat]</tt> массиве.
|
в <tt>params[:splat]</tt> массиве.
|
||||||
|
|
||||||
get '/say/*/to/*' do
|
get '/say/*/to/*' do
|
||||||
# сочетается с /say/hello/to/world
|
# совпадает с /say/hello/to/world
|
||||||
params[:splat] # => ["hello", "world"]
|
params[:splat] # => ["hello", "world"]
|
||||||
end
|
end
|
||||||
|
|
||||||
get '/download/*.*' do
|
get '/download/*.*' do
|
||||||
# сочетается с /download/path/to/file.xml
|
# совпадает с /download/path/to/file.xml
|
||||||
params[:splat] # => ["path/to/file", "xml"]
|
params[:splat] # => ["path/to/file", "xml"]
|
||||||
end
|
end
|
||||||
|
|
||||||
Пути могут также сочетаться с регулярными выражениями напрямую:
|
Пути также могут совпадать с регулярными выражениями:
|
||||||
|
|
||||||
get %r{/hello/([\w]+)} do
|
get %r{/hello/([\w]+)} do
|
||||||
"Hello, #{params[:captures].first}!"
|
"Hello, #{params[:captures].first}!"
|
||||||
|
@ -84,14 +83,14 @@ c запросом будет вызван.
|
||||||
|
|
||||||
=== Условия
|
=== Условия
|
||||||
|
|
||||||
Пути могут включать различные сочетающиеся условия, такие как user agent:
|
Пути могут включать различные условия совпадений, такие как user agent:
|
||||||
|
|
||||||
get '/foo', :agent => /Songbird (\d\.\d)[\d\/]*?/ do
|
get '/foo', :agent => /Songbird (\d\.\d)[\d\/]*?/ do
|
||||||
"You're using Songbird version #{params[:agent][0]}"
|
"You're using Songbird version #{params[:agent][0]}"
|
||||||
end
|
end
|
||||||
|
|
||||||
get '/foo' do
|
get '/foo' do
|
||||||
# сочетается с non-songbird браузерами
|
# совпадает с non-songbird браузерами
|
||||||
end
|
end
|
||||||
|
|
||||||
Другими доступными условиями являются +host_name+ и +provides+:
|
Другими доступными условиями являются +host_name+ и +provides+:
|
||||||
|
@ -122,7 +121,7 @@ c запросом будет вызван.
|
||||||
|
|
||||||
=== Возвращаемые значения
|
=== Возвращаемые значения
|
||||||
|
|
||||||
Возвращаемое значения блока определяет как минимум тело ответа переданное HTTP клиенту,
|
Возвращаемое значение блока определяет как минимум тело ответа переданное HTTP клиенту,
|
||||||
или хотя бы следующему подпрограммному обеспечению из Rack стека.
|
или хотя бы следующему подпрограммному обеспечению из Rack стека.
|
||||||
Чаще всего это строка, как в выше изложенных примерах. Но другие значения также доступны.
|
Чаще всего это строка, как в выше изложенных примерах. Но другие значения также доступны.
|
||||||
|
|
||||||
|
@ -165,7 +164,7 @@ c запросом будет вызван.
|
||||||
Важно помнить что вы всегда должны указывать шаблоны
|
Важно помнить что вы всегда должны указывать шаблоны
|
||||||
с помощью символов даже если это подкаталог (в этом случае
|
с помощью символов даже если это подкаталог (в этом случае
|
||||||
успользуйте <tt>:'subdir/template'</tt>). Вы должны использовать
|
успользуйте <tt>:'subdir/template'</tt>). Вы должны использовать
|
||||||
символ иначе методы ответственные за рендеринг отобразят только строку переданную им.
|
символ иначе методы, ответственные за рендеринг, отобразят переданную им строку.
|
||||||
|
|
||||||
=== Haml шаблоны
|
=== Haml шаблоны
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue