6

我需要一种在帮助程序中从数组创建一组 Rails 3 路径的好方法link_to

我有:

TITLES = ['foo', 'bar', 'baz']
TITLES.each do |t|
  = link_to t, (.....path....)

这样我需要构建一组路径:

foo_super_users_path(user)
bar_super_users_path(user)
baz_super_users_path(user)

如您所见,我需要为每个路径添加相同的前缀_super_users ,并传递用户对象。作为最终结果,我需要类似的东西:

link_to t, foo_super_users_path(user)
link_to t, bar_super_users_path(user)
link_to t, baz_super_users_path(user)

非常感谢您的建议。

4

2 回答 2

8

怎么样

TITLES.each do |t|
  = link_to t, eval("#{t}_super_users_path(user)")
于 2013-04-16T17:40:22.573 回答
6

而是 eval 使用 public_send

TITLES.each do |t|
  = link_to t, public_send("#{t}_super_users_path", user)
于 2015-01-16T14:29:52.007 回答