Rails路由问题

时间:2011-04-23 10:54:08

标签: ruby-on-rails ruby ruby-on-rails-3 routes

我有一个非常简单的应用程序,我使用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 /

我真的需要这两个重定向到

http://localhost/user-1/edit

由于

鲍勃

3 个答案:

答案 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。希望这有效。