2015-07-09 17 views
6

Üzüm API'sini, özellikle route_param ve bunun sadece params ile nasıl çalıştığını anlama konusunda çok fazla sorun yaşıyorum.Üzüm API'si rota paramını anlayamıyorum

desc "Return a status." 
params do 
requires :id, type: Integer, desc: "Status id." 
end 
route_param :id do 
get do 
    Status.find(param[:id]) 
end 
end 

bu blok Ne rota üretir:

bu kodu düşünün? Bu bir get isteği olsun, ancak neden route_param bloğuna sarılır? Neden params bloğunda olamaz?

http://yourdomain.com/<resource>/<id> 

Not kodunuzu ve aşağıdaki kod aynı şeyi yapmak ve aynı rotayı üretmek:

cevap

7

Sizin blok bu yolu üretir

desc "Return a status." 

params do 
    requires :id, type: Integer, desc: "Status id." 
end 

get ':id' do 
    Status.find(params[:id]) 
end 

Sen grup yöntemlerine route_param kullanabileceğiniz aynı paramları alırsınız, örneğin:

+0

Özlü ve açık ex için teşekkür ederiz Planation. Bu çok yardımcı olur. – kcg5544

+0

Rica ederim. Bu durumda ve buradaki insanlara SO yardım etmek için, bu cevabı doğru olarak ayarlamayı unutmayın. :-) – Marlon

İlgili konular