我想将RoR中的默认路由更改为我想要的: 考虑以下示例...
:controller/:action/:id
将在浏览器中为您提供以下路线: http://localhost:3000/controller/action/id
现在我想把它改成......
http://localhost:3000/this-is-what-i-want/id
我们可以获得控制器和动作的别名,例如......
resources :controller, :as => "my-custom-name"
如果您想拥有该操作的别名,那么
resources :controller, :path_names => { :action => 'my-custome-name-1', :action => 'my-custome-name-2' }
但我想立即更改控制器和操作...如果您在问题中注意到上述 http://localhost:3000/this-is-what-i-want/id 路径。 ..
需要帮助...... 提前谢谢......
答案 0 :(得分:1)
您需要一条命名路线。
在Rails 2中:
map.a_name 'this-is-what-i-want/:id', :controller => 'controller_name', :action => 'action_name'
在Rails 3中:
match 'this-is-what-i-want/:id' => 'controller_name#action_name'
答案 1 :(得分:0)
您希望使用Rest路由,而不是控制器/操作
我打算用“球”而不是“这就是我想要的东西”
resources :balls
然后,当您链接到球时,请link_to(ball.name, ball
)。
这会为您提供 http://localhost:3000/balls/45
的链接这个rails rest cheatsheet是一个好的开始。