2010-03-08 41 views
1

我有一個控制器:平臺在這裏。map.resource,參數限制

我試着這樣做:

/:PLATFORM_NAME /重定向到它的節目中,具有參數。這是我得到的:

map.resource :platform, 
       :as => ':platform_name', 
       :platform_name => /pc|ps2|ps3|wii|ds|psp|xbox-360/ 

它工作正常。我還有其他內聯資源,他們都在訪問。但。 問題是,我只有這些平臺名稱,但是當它沒有很好的另一條路線時,它總是落在這個位置上。 如果我嘗試/whatever/,它會尋找platform_name =>無論

我期待它落入map.connect':controller /:action /:id'規則。

當我做了:platform_name =>/pc | ps2 | ps3 | wii | ds | psp | xbox-360/,預計此規則僅適用於正則表達式適合的情況嗎?

我怎麼能限制這個?

回答

0

嘗試改變:

/pc|ps2|ps3|wii|ds|psp|xbox-360/ 

/^(pc|ps2|ps3|wii|ds|psp|xbox-360)$/ 
+0

仍然是一樣的,它不會將platform_names限制在這裏的正則表達式 – Tiago 2010-03-10 14:47:41

+0

中,試圖訪問/ password_recover/edit(預期:controller =>:password_recovery,:action =>:edit)。發送給我= =處理PlatformsController#編輯(對於127.0.0.1於2010-03-10 11:56:06)[GET] 參數:{「platform_name」=>「password_recover」,「action」=>「edit」 ,「locale」=>「pt」,「controller」=>「platforms」} – Tiago 2010-03-10 14:59:04

+0

你可以發佈你的整個routes.rb請。 – jonnii 2010-03-10 16:40:17