2

我正在尝试编写一个辅助方法,它接受复数资源的名称并返回相应的链接。该方法的本质是:

def get_link(resource)
  link_to "#{resource.capitalize}", resource_path
end

- 显然上面的resource_path部分不起作用。我想要的是能够通过foos获取foos_pathbars获取bars_path等。我该怎么做?我不太清楚语法。

4

3 回答 3

7

def get_link(resource)
  link_to "#{resource.capitalize}", send("#{resource}_path")
end
于 2009-04-13T17:04:35.730 回答
2
def get_link(资源)
  link_to(resource.to_s.titleize, send("#{resource}_path"))
结尾

对资源的 to_s 调用是为了支持将符号作为资源传递。所以

get_link("foos")

将工作,也

get_link(:foos)
于 2009-04-13T18:31:24.723 回答
0

如果你想用一个成员构建一个 RESTful 路由:

send("edit_#{resource}_path".to_sym, @resource)
于 2010-03-30T20:48:42.160 回答