我正在尝试编写一个辅助方法,它接受复数资源的名称并返回相应的链接。该方法的本质是:
def get_link(resource)
link_to "#{resource.capitalize}", resource_path
end
- 上面的resource_path
部分不起作用。我想要的是能够通过foos
获取foos_path
和bars
获取bars_path
等。我该怎么做?我无法理解语法。
答案 0 :(得分:7)
def get_link(resource)
link_to "#{resource.capitalize}", send("#{resource}_path")
end
答案 1 :(得分:2)
def get_link(resource) link_to(resource.to_s.titleize, send("#{resource}_path")) end
对资源的to_s调用是支持将符号作为资源传递。 所以
get_link("foos")
将起作用,也
get_link(:foos)
答案 2 :(得分:0)
如果要构建具有成员的RESTful路由:
send("edit_#{resource}_path".to_sym, @resource)