2014-06-20 52 views

回答

0

是的,你可以嗎?。下面是我做這個之前:

# config/routes.rb  

def get_params_blob_if_present(params) 
    "/#{params[:a]}" if params[:a].present? 
end 

def get_query_string_params_if_present(params, options = {}) 
    params = params.except(:a) # Don't include blob params 
    "?#{params.to_query}" if params.any? 
end 

MyApp::Application.routes.draw do 
    # ... 

    get '/foo(/*a)', to: redirect { |params, request| "/foo#{get_params_blob_if_present(params)}#{get_query_string_params_if_present(request.params)}" } 

    # ... 
end 

基本上,(/*a)建立了一個名爲a斑點。如果有的話,您可以有條件地將這個blob中的參數包含在重定向URL中。同樣,如果有的話,你可以在重定向URL中有條件地包含查詢字符串參數。

+0

沒關係,所以沒有官方的方式。感謝您分享您的解決方案! –

相關問題