0

小路由问题:

我想

  • myapp.com/my_controller-> 导致控制器 A
  • myapp.com/my_controller?uid=123-> 导致控制器 B

任何想法如何更改 routs 文件(在 rails 2.3 中)

4

1 回答 1

2

导轨 2.3.1:

map.route_a 'my_controller', :controller => "A", :action => "a"
map.route_b 'my_controller/uid/:uid', :controller => "B", :action => "b"

您应该获取route_a_urlroute_b_url(:uid => uid)帮助方法来生成 url。它不完全是查询参数,而是它的使用uid和值。

导轨 3.2.1:

match 'my_controller' => 'A#a', :as => 'route_a'
match 'my_controller/uid/:uid' => 'B#b', :as => 'route_b'

route_a_url并且辅助功能route_b_url(:uid=>10)很容易获得。

解释:


在您看来,使用辅助函数来生成 url

辅助函数: route_a_url()
生成的 URL: http://localhost:3000/my_controller
映射到: Controller A, Action a

辅助函数: route_b_url(:uid => 10))
生成的 URL: http://localhost:3000/my_controller/uid/10
映射到: Controller B, Action b

于 2012-10-02T17:17:21.310 回答