Несколько Блочных Параметров с Синатрой - PullRequest
4 голосов
/ 18 января 2010

Я пытаюсь заставить работать этот запрос Sinatra GET:

get '/:year/:month/:day/:slug' do

end

Я знаю, что вы можете получить один параметр для работы с параметрами блока:

get '/:param' do |param|
  "Here it is: #{param}."
end

Но как я могу использовать несколько параметров блока с первым блоком кода? Я открыт для других методов.

Ответы [ 2 ]

2 голосов
/ 19 января 2010

Несколько заполнителей хранятся в params как хэш.

# Request to /2009/10/20/post.html

get '/:year/:month/:day/:slug' do
  params[:year]  # => 2009
  params[:month] # => 10
  params[:day]   # => 20
  params[:post]  # => post.html
end
0 голосов
/ 19 января 2010

Простите за мое незнание Синатры, но не должен ли этот набор именованных параметров, например, Rails map.connect?:

get '/:year/:month/:day/:slug

Теперь параметры должны быть доступны в хеше params:

params = { :year => "foo", :month => "bar", :day => "baz", :slug => "etc" }
...