我试图让这个我可以有一个网址,像这样: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