2014-05-14 42 views
0

鏈接需要一個建議如何與paramenterRails的生成與數組參數

/controller/action/id?pid1=1001&vid1=1002&pid2=2001&vid2=2002 
/controller/action/id?pid1=1001&vid1=1002&pid2=2001&vid2=2003 
/controller/action/id?pid1=7001&vid1=7002&pid2=2001&vid2=2003 

PID是過濾式的ID陣列生成鏈接列表,並VID是過濾器值的ID。

+0

你的「參數數組」怎麼樣? – derekyau

+0

我需要鏈接像問題,但如何使用方法link_to和params生成它。而渲染一個頁面,我需要檢查與id已使用ID 1001或2001年的pid。 – user3637521

+0

沒問題,但你的params看起來如何?我會給出一個基本的答案,根據你讓我知道的 – derekyau

回答

0

我假設你有是在像這樣

params_array = ["a","b","c", "d"]陣列,其中第一個參數是PID1參數,第二個是VID1,第三是PID2,第四是VID2

如果是這樣的設置,則試試這個:

link_to "this is some link text", some_path, :pid1 => params_array[0], :vid2 => params_array[1] %>

等..有更好的方式與循環的/ etc做到這一點。以更好地格式化參數,但爲了做到這一點,我需要知道你的原始參數是怎樣的。

編輯:再次,我真的不知道你的數據是如何格式化的,所以爲了能夠給你更多有用的幫助,你需要用更多的數據來擴展這個問題。

我可以告訴你,儘管是,如果你想有一個循環來遍歷和合並的參數,可以,你可以這樣做是這樣的:

pid_parameters = params_array.each_with_index.map {|e, i| {"#{i%2==0 ? "pid" : "vid"}#{i+1}" => a[i]}}

然後link_to "this is some link text", some_path, pid_parameters這會產生一種像:

/controller/action/id?pid1=1001&vid2=1002&pid3=2001&vid4=2002

再次,給出了這是相關的一些信息。謝謝

+0

來製作它,以及如果pids將是25,它將如何工作? – user3637521