2015-03-01 30 views
7

aşağıdaki gibi tanımlanmış bir yol var, hayal sağlar:Raylarda güncel URL yolu deseni nasıl alınır?

constraints MyRouteConstraint.new do 
    get ':param/:param1/:param2', to: 'controller#action' 
end 

Ben deseni nasıl alabilirim ': param /: param1 /: param2' benim denetleyicisi? Ben Rails.application.routes.recognize_path olduğunu biliyorum "/ param/param1/param2" ama bu bir hata 'Hayır Rota maçları'

güncelleme yükseltir:

Rails.application.routes.router.recognize(request) do |route, matches, parameters| 
    return route.path.spec.to_s if route.path.required_names.all? { |p| request.params.keys.include? p } 
end.flatten.compact.first 

cevap

0

Çok emin değilim bu ne ise Arıyorsunuz, bu sizin görüşlerinizde kullanılmalıdır.

Sen request.fullpath

istenen son URL params dahil dize tam yolunu döndürür deneyebilirsiniz.

# get "/articles" 
request.fullpath # => "/articles" 

# get "/articles?page=2" 
request.fullpath # => "/articles?page=2" 

burada docs bakınız: ': param /: param1 /: param2' tam

http://api.rubyonrails.org/classes/ActionDispatch/Request.html#method-i-original_url

+0

hayır, ben almak istiyorum. güncellemeye bakın –

İlgili konular