2013-09-24 41 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 

但是这不会工作,如果你有嵌套或命名空间资源。