字符串与参数的路径

时间:2013-04-16 17:33:06

标签: ruby-on-rails ruby ruby-on-rails-3 link-to

我需要一个很好的方法在link_to帮助器中从数组创建一组Rails 3路径。

我有:

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)

非常感谢你的建议。

2 个答案:

答案 0 :(得分:9)

怎么样

TITLES.each do |t|
  = link_to t, eval("#{t}_super_users_path(user)")

答案 1 :(得分:4)

相反,eval使用public_send

TITLES.each do |t|
  = link_to t, public_send("#{t}_super_users_path", user)