0
小路由問題:Rails的不同途徑,如果參數存在
我想
myapp.com/my_controller
- >導致控制器Amyapp.com/my_controller?uid=123
- >導致控制器B
任何想法如何更改路徑文件(在rails 2.3)
小路由問題:Rails的不同途徑,如果參數存在
我想
myapp.com/my_controller
- >導致控制器Amyapp.com/my_controller?uid=123
- >導致控制器B任何想法如何更改路徑文件(在rails 2.3)
的Rails 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_url
和route_b_url(:uid => uid)
輔助方法來生成URL。它不完全是查詢參數,但它使用uid
和兩個值。
的Rails 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)
一應俱全。
Explnation:
在您看來,使用輔助函數生成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
都能跟得上....既導致':控制器=> 「A」,:動作=>「a」' – Ran
你用':my_controller/uid /:uid'而不是':my_controller?uid =:uid'來試試嗎? – Samiron
nope,仍指':controller =>「A」,:action =>「a」' – Ran