字符串与参数的路径

Leo*_*urt 6 ruby ruby-on-rails link-to ruby-on-rails-3

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

我有:

TITLES = ['foo', 'bar', 'baz']
TITLES.each do |t|
  = link_to t, (.....path....)
Run Code Online (Sandbox Code Playgroud)

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

foo_super_users_path(user)
bar_super_users_path(user)
baz_super_users_path(user)
Run Code Online (Sandbox Code Playgroud)

如您所见,我需要为每个路径添加相同的前缀_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)
Run Code Online (Sandbox Code Playgroud)

您的建议非常感谢.

小智 9

怎么样

TITLES.each do |t|
  = link_to t, eval("#{t}_super_users_path(user)")
Run Code Online (Sandbox Code Playgroud)


Mic*_*jko 5

相反 eval 使用 public_send

TITLES.each do |t|
  = link_to t, public_send("#{t}_super_users_path", user)
Run Code Online (Sandbox Code Playgroud)