我有一個網址,如「http://domain.com/1and2」我希望建立在配置這樣的/ routes.rb中:Rails的路線匹配開始以數字字符
匹配「1and2 「=> 」頭版#oneandtwo「
(具有在適當位置的控制器和視圖)。
運行「耙路線」輸出「無效的路由名稱:'1and2」。當您使用數字字符開始匹配時,顯然會觸發此錯誤。
有一種解決方法,還是我做錯了?
我有一個網址,如「http://domain.com/1and2」我希望建立在配置這樣的/ routes.rb中:Rails的路線匹配開始以數字字符
匹配「1and2 「=> 」頭版#oneandtwo「
(具有在適當位置的控制器和視圖)。
運行「耙路線」輸出「無效的路由名稱:'1and2」。當您使用數字字符開始匹配時,顯然會觸發此錯誤。
有一種解決方法,還是我做錯了?
match '/:id' => "frontpage#oneandtwo", :constraints => {:id => /1and2/}
THX!紅寶石絕對是浩瀚無限的:) – andkrup
問題的根源在於Ruby中的方法不能以數字開頭。由於Rails路由會爲每個路由生成一個訪問器方法,因此會出現錯誤。
您可以通過發行通過與:as
參數不同的命名你的路線通過。
我有,我想從一個URI/2012重定向的問題 - 這導致錯誤。
match "/#{Time.now.year}" => redirect("..."), :as => :current_year
更多信息:
什麼是 '它不是猶太' 是指我加入
:as => current_year
到路由糾正呢?你在使用它的過程中遇到錯誤,或者你想知道使用這樣的路線是否是一種好的風格? – mliebelt是啊,這是有點不清楚 - 我的意思是說'耙路線'抱怨和輸出'無效的路線名稱:'1and2''(我將離開原來的帖子未經編輯,所以你的評論仍然有意義) – andkrup
更新你的問題,以便其他人能夠得到更好的開始。只需在您的評論中註明您已更新您的問題。 – mliebelt