2013-09-24 43 views
0

所以,我有一個情況我將有一個大的陣列,其中包括像對對象的引用:Rails的:從類名和ID生成URL

array=[['Vendor',1],['Comment',2]] 

我真的希望能夠創建一個鏈接到這個數組中的對象。在我看來,因爲我知道類名和ID我應該能夠生成鏈接,但到目前爲止,我還沒有想出如何在沒有實例化對象的情況下做到這一點。

我知道我可以做的:

array.each do |i| 
    = link_to i[0].constantize.find(i[1]) 
end 

...但是這噸開銷。關於如何使用類名作爲字符串和ID構建鏈接的任何建議?

回答

0

所以,我最終放棄剛剛鏈接輔助函數和手動構建這樣的:

[nil,array[0].downcase.pluralize,array[1]].join("/") 

也許不是最優雅的或可靠的解決方案,但它涵蓋了我需要的情況下。

0

你可以使用語調和動態計算路徑幫手:

array.each do |i| 
    = link_to 'show', send("#{i[0].underscore}_path", i[1]) 
end 

但是這不會工作,如果你有嵌套或命名空間資源。