4

我试图让这个 Sinatra GET 请求工作:

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

end

我知道您可以获得一个参数来处理块参数:

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

但是如何在第一个代码块中使用多个块参数?我对其他方法持开放态度。

4

2 回答 2

2

多个占位符存储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
于 2010-01-18T21:35:47.790 回答
0

原谅我对 Sinatra 的无知,但是这不应该像 Rails 那样设置命名参数map.connect吗?:

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

现在应该可以在params哈希中访问参数:

params = { :year => "foo", :month => "bar", :day => "baz", :slug => "etc" }
于 2010-01-18T21:19:11.387 回答