Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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:将link#to与#send结合起来动态创建链接_Ruby On Rails - Fatal编程技术网

Ruby on rails Rails:将link#to与#send结合起来动态创建链接

Ruby on rails Rails:将link#to与#send结合起来动态创建链接,ruby-on-rails,Ruby On Rails,我在我目前正在开发的应用程序的AdminHelper模块中发现了这段代码,我发现很难理解到底发生了什么,以及它为什么会工作 链接到项目类型,发送(“管理”{item\u-type.下划线}\u路径”,项目类型) (item_type包含型号名称,主要是“订单”) 试图通过在控制台中替换来获取线索无效,但会抛出错误。但代码运行良好 有人能解释一下吗?您会在rails控制台中看到错误,因为url\u帮助程序不包括在那里。你可以自己写 include Rails.application.routes.

我在我目前正在开发的应用程序的AdminHelper模块中发现了这段代码,我发现很难理解到底发生了什么,以及它为什么会工作

链接到项目类型,发送(“管理”{item\u-type.下划线}\u路径”,项目类型)

item_type
包含型号名称,主要是“订单”)

试图通过在控制台中替换来获取线索无效,但会抛出错误。但代码运行良好


有人能解释一下吗?

您会在rails控制台中看到错误,因为url\u帮助程序不包括在那里。你可以自己写

include Rails.application.routes.url_helpers
然后


应该能按预期工作在控制台上

谢谢,我有点匆忙地试了一下,完全忘记了这一点。但主要的问题不是为什么它不能在控制台中工作,而是这段代码如何创建正确的链接。这仅仅是因为默认情况下,rails控制台中不包含帮助程序。顺便说一句,你可以通过app和helper方法访问它们,比如app.root\u path或helper.link\u to等。不过我不知道为什么不将它们包含在控制台中
send("admin_#{item_type.underscore}_path", item_type)