Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用Rails动态构造RESTful路由_Ruby On Rails_Ruby_Routes - Fatal编程技术网

Ruby on rails 使用Rails动态构造RESTful路由

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}"

我试图编写一个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}", 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)