0

したがって、次のようなオブジェクトへの参照を含む大きな配列がある状況があります。

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

この配列内のオブジェクトへのリンクを作成できるようにしたいと思っています。クラス名とIDを知っているので、リンクを生成できるはずですが、これまでのところ、オブジェクトをインスタンス化せずにリンクを生成する方法がわかりません。

私はできることを知っています:

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

...しかし、それは大量のオーバーヘッドです。文字列と ID としてのクラス名のみを使用してリンクを作成する方法について何か提案はありますか?

4

2 に答える 2

0

屈折を使用して、パス ヘルパーを動的に計算できます。

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

ただし、ネストされたリソースまたは名前空間化されたリソースがある場合、これは機能しません。

于 2013-09-24T17:09:57.327 に答える