我試圖讓這個我可以有一個網址,像這樣:Rails 3中問題的路線約束
/events
/events/sunday # => The day is optional
然而,它似乎並沒有被連工作雖然我知道它是越來越調用。它位於我的路線文件的底部。
match '/:post(/:day_filter)' => 'posts#index', :as => post_day_filter, :constraints => DayFilter.new
class DayFilter
def initialize
@days = %w[all today tomorrow sunday monday tuesday wednesday thursday friday saturday]
end
def matches?(request)
return @days.include?(request.params[:day_filter]) if request.params[:day_filter]
true
end
end
這裏是我的耙路輸出:
post_day_filter /:post(/:day_filter)(.:format) {:controller=>"posts", :action=>"index"}
「似乎沒有工作」有點模糊。小心解釋一下嗎?共享'rake routes'的輸出對路由相關的問題總是有幫助的。 ;) – coreyward 2011-06-11 03:42:32
我貼了它,但我認爲它不會太有幫助。它已經在我的路由文件的底部,並且我已經將調試器放入了我的約束對象中,以確保它被調用,並且它是。它甚至似乎正在返回正確的值。 – Dex 2011-06-11 03:48:33
什麼是/意外發生?我假設你對「/ events/sunday」的請求正在返回404s,但這只是一個猜測。 – coreyward 2011-06-11 03:51:09