Ruby on rails 使用Rails动态构造RESTful路由
我试图编写一个helper方法,它接受复数资源的名称并返回相应的链接。该方法的实质是:Ruby on rails 使用Rails动态构造RESTful路由,ruby-on-rails,ruby,routes,Ruby On Rails,Ruby,Routes,我试图编写一个helper方法,它接受复数资源的名称并返回相应的链接。该方法的实质是: def get_link(resource) link_to "#{resource.capitalize}", resource_path end -显然,上面的资源路径部分不起作用。我想要的是能够通过foos获得foos\u路径和bar获得bar\u路径等等。我该怎么做?我不太懂语法 def get_link(resource) link_to "#{resource.capitalize}"
def get_link(resource)
link_to "#{resource.capitalize}", resource_path
end
-显然,上面的资源路径部分不起作用。我想要的是能够通过foos
获得foos\u路径
和bar
获得bar\u路径
等等。我该怎么做?我不太懂语法
def get_link(resource)
link_to "#{resource.capitalize}", send("#{resource}_path")
end
def get_链接(资源)
链接到(resource.to_.titleize,send(“{resource}_路径”))
结束
to_对资源的调用是支持将符号作为资源传递。
所以
获取链接(“foos”)
将工作,也
get_link(:foos)
获取链接(:foos)
如果要使用成员构造RESTful路由,请执行以下操作:
send("edit_#{resource}_path".to_sym, @resource)
谢谢,很好用。出于兴趣,现在发送消息的接收者是什么?回答我自己的问题-如果没有指定接收者,那么它就是self,在本例中是ActionView::Base,因为它位于helper方法中。
get_link(:foos)
send("edit_#{resource}_path".to_sym, @resource)