4

このSinatra GETリクエストを機能させようとしています:

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

end

ブロック パラメーターを操作するために 1 つのパラメーターを取得できることはわかっています。

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 に答える