1
0
Fork 0
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:
Nickolay Schwarz 2010-10-28 11:58:10 -05:00 committed by Konstantin Haase
parent 0c089a1180
commit 5f5eeaab68

View file

@ -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 шаблоны