【发布时间】:2013-03-21 10:49:29
【问题描述】:
routes.rb 的最后一行是这样的:
resources :tags, path: "", except: [:index, :new, :create], constraints: { :id => /.*/ }
它基本上处理所有 /tagnames。
问题是我正在尝试使用 livereload,rack middleware version 发生的事情是它正在向 /livereload 发送 ping。
但是,上面的路由拦截了它并将它发送到我的TagsController....所以我的日志文件看起来像这样:
Started GET "/livereload" for 192.168.1.1 at 2013-03-30 19:49:13 -0500
Processing by TagsController#show as HTML
Parameters: {"id"=>"livereload"}
Tag Load (3.3ms) SELECT "tags".* FROM "tags" WHERE "tags"."name" = 'livereload' LIMIT 1
Tag Load (2.0ms) SELECT "tags".* FROM "tags" WHERE "tags"."id" = $1 LIMIT 1 [["id", "livereload"]]
Completed 404 Not Found in 9ms
ActiveRecord::RecordNotFound (Couldn't find Tag with id=livereload):
app/controllers/tags_controller.rb:16:in `show'
那么我该如何告诉该路由忽略所有 /livereload 请求,或者我该如何以另一种方式处理呢?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 routing livereload