Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/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 Rails4路由:是否可以直接在根目录下使用永久链接或参数?_Ruby On Rails_Routing_Wildcard_Root_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails Rails4路由:是否可以直接在根目录下使用永久链接或参数?

Ruby on rails Rails4路由:是否可以直接在根目录下使用永久链接或参数?,ruby-on-rails,routing,wildcard,root,ruby-on-rails-4,Ruby On Rails,Routing,Wildcard,Root,Ruby On Rails 4,我正在尝试 get ":site_name", to: 'public_site#index' 希望 get("/catsfrommars").should route_to("public_site#index") 不幸的是,我将:site_名称作为操作路由: No route matches {:controller=>"public_site", :action=>"/catsfrommars"} 我也试过了 get "/:site_name", to: 'public

我正在尝试

get ":site_name", to: 'public_site#index' 
希望

get("/catsfrommars").should route_to("public_site#index")
不幸的是,我将:site_名称作为操作路由:

No route matches {:controller=>"public_site", :action=>"/catsfrommars"}
我也试过了

get "/:site_name", to: 'public_site#index' 
get "(:site_name)", to: 'public_site#index' 
并且:site_name参数仍然作为指定控制器上的操作进行路由

关于如何修复此问题并将:site_name作为参数,您有什么想法吗


编辑:我正在尝试做类似的事情:但是使用Rails4语法。一旦我让它工作起来,我将使用约束来隔离带名称空间的应用程序路由。

路由工作正常,问题在于rSpec

{get: "/catsfrommars"}.should route_to(controller: "public_site", 
     action: "index", site_name: "catsfrommars")
解决了它,更具体地说,将get移动到一个块中