所以我使用虛榮寶石處理我的URL中的所有params[:vname]
,並重定向到大多數vnames
的正確位置。如何在使用虛榮寶石時爲我的路線文件中的某些虛榮名稱添加例外?
但我只是通過Omnipopulus添加身份驗證 - https://github.com/icelab/omnipopulus - 它需要我去`mydomain.com/login'。
但是,當我這樣做,它將它發送到我的Vanities
控制器。下面是請求的日誌:
Started GET "/login" for 127.0.0.1 at 2011-09-18 16:39:15 -0500
Processing by VanitiesController#show as HTML
Parameters: {"vname"=>"login"}
Vanity Load (0.1ms) SELECT "vanities".* FROM "vanities" WHERE "vanities"."name" = 'login' LIMIT 1
Rendered public/404.html within layouts/application (0.0ms)
Completed 404 Not Found in 13ms (Views: 11.5ms | ActiveRecord: 0.3ms)
的Vanities
控制器做什麼,是當它到達一個網址爲mydomain.com/vname
它檢查是否一個vname
記錄存在於PARAMS的值(通常是用戶名)。如果它找到一個,它會重定向到該用戶的顯示操作。但考慮到login
不是用戶和用戶名,它不應該處理該關鍵字的路由。
如何添加異常?
這是Vanities
控制器的路線:我從來沒有使用過(甚至聽說過),在此之前的寶石
controller :vanities do
match ':vname' => :show, :via => :get, :constraints => {:vname => /@?[A-Za-z0-9\-\+]+/}, :as => :vanity
end
虛榮路線絕對是最後一個。我在無所不在的時候移動了寶石電話,並做了「捆綁更新」,但這似乎不起作用。我會嘗試將路線複製到路線文件並查看。我也問了寶石作者是否應該在我的'routes.rb'文件中放置一個路由,因爲它不會。 – marcamillion
它似乎複製從github回購到我的'routes.rb'作品的路線。謝謝! – marcamillion