我有一个非常简单的应用程序,我使用RoR构建,但我无法修改我的路线。
它基本上是一个列出用户信息的网站 - 我需要更改网址:
mydomain.com/users/user-1
到
mydomain.com/user-1
更新..
我设法使用以下方式路由上述请求:
match "/:id", :controller=>"users", :action=>"show"
但我真正需要做的是将所有请求的路由更改为/users/#
到/
虽然我的路线工作正常,但我向用户展示的所有链接仍然指向:
/users/user-#
---更新---
/ user-id的路由现在正常运行,但是我现在正在努力解决其余路由问题。
我现在可以导航到http://localhost/user-1
但是,我基本上需要完全删除/ user / part。当我正在编辑/更新页面时,我最终将其转到:
/用户/用户-1 /编辑
一切正常,但随后重定向到“
/用户/用户-1 /
我真的需要这两个重定向到
由于
鲍勃
答案 0 :(得分:2)
你想:
resources :users, :path => '/'
答案 1 :(得分:1)
在路线的底部
match "/:id", :to => "users#show"
有一些副作用,所以准备好了
要重写您的路线,您应该指定其名称:
match "/:id", :to => "users#show", :as => :user
或者,正如@Whirlwin指出的那样,最好只使用GET请求作为默认值
get "/:id", :to => "users#show", :as => :user
所以现在你可以打电话:
user_path(@user)
答案 2 :(得分:1)
我相信get ":id" => "users#show"
将大致相同,除非您只允许HTTP GET。希望这有效。