Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.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 rubyonrails:使用controller、action&;param_Ruby On Rails_Ruby_Url_Controller_Action - Fatal编程技术网

Ruby on rails rubyonrails:使用controller、action&;param

Ruby on rails rubyonrails:使用controller、action&;param,ruby-on-rails,ruby,url,controller,action,Ruby On Rails,Ruby,Url,Controller,Action,我是RoR的新手,我正在寻找一种为给定控制器、操作和参数获取路由的方法 类似于url_for(),但没有域和协议 假设我有: params = {"controller"=>"controller", "action"=>"edit", "project_id"=>"1"} 我需要得到: route = "/controller/edit/1" 如果我不必手动构建路由,也不需要拆分url_for()的结果,那就最好了 RoR是否本机支持这样的功能?这可能是一个简单的问题,但

我是RoR的新手,我正在寻找一种为给定控制器、操作和参数获取路由的方法

类似于url_for(),但没有域和协议

假设我有:

params = {"controller"=>"controller", "action"=>"edit", "project_id"=>"1"}
我需要得到:

route = "/controller/edit/1"
如果我不必手动构建路由,也不需要拆分url_for()的结果,那就最好了


RoR是否本机支持这样的功能?这可能是一个简单的问题,但我找不到答案。

您应该能够使用以下选项

link_to "Link Content", :controller => "my_controller", :action => "my_action", :project_id => 1

这将生成一个带有控制器/操作链接的

这是一个帮助程序,它将生成您想要的路径:

edit_controller_path(project_id: 1)
您可以使用此帮助器生成链接的完整路径(包括主机):

edit_controller_url(project_id: 1)
编辑: 更多信息请访问

与使用命名url相比,使用此url有什么特别的原因吗?
我的操作\u我的控制器\u路径(项目id:1)
是帮助器,它将生成您想要的路径(如果需要,使用
我的操作\u我的控制器\u url
)@MrYoshiji是的!非常感谢。这正是我想要的。我找到了关于这个助手的更多信息:@MrYoshiji请回答,这样每个人都可以看到。