2013-08-19 2 views
0

согласно http://www.sinatrarb.com/intro.html#Request/Instance%20ScopeСинатра, как получить все, что, несмотря на метод запроса

У вас есть область запроса привязки внутри:

  • получить, руководитель, должность, ставить, удалять варианты, патч, ссылка, и блоки Разъединить
  • до и после фильтров
  • вспомогательные методы
  • шаблоны/просмотров

Есть ли какой-либо ярлык, чтобы сделать все точно так же, несмотря на методы?

get // do 
    # do something 
end 

post // do 
    # do something exactly the same as previous 
end 

put // do 
    # do something exactly the same as previous 
end 

delete // do 
    # do something exactly the same as previous 
end 

... 

ответ

3

Не уверен, что я правильно понимаю вас. Но я думаю, что вы будете ловить несколько глаголов HTTP сразу, для этого вы можете использовать multi route

Пример

require 'sinatra' 
require "sinatra/multi_route" 
route :get, :post, '/foo' do 
    # "GET" or "POST" 
    p request.env["REQUEST_METHOD"] 
end 

# Or for module-style applications 
class MyApp < Sinatra::Base 
    register Sinatra::MultiRoute 
    route :get, :post, '/foo' do 
    # ... 
    end 
end