【问题标题】:Path from string with parameter带参数的字符串路径
【发布时间】:2013-04-16 17:33:06
【问题描述】:

我需要一种在 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,并传递 user 对象。作为最终结果,我需要类似的东西:

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

非常感谢您的建议。

【问题讨论】:

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


【解决方案1】:

怎么样

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

【讨论】:

    【解决方案2】:

    改为 eval 使用 public_send

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

    【讨论】:

    • public_send("#{t}_super_users_path",user)
    猜你喜欢
    • 2017-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-03
    • 2013-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多