Последняя строка в моей routes.rb
это:Как игнорировать определенный путь?
resources :tags, path: "", except: [:index, :new, :create], constraints: { :id => /.*/ }
Который в основном обрабатывает все/тэги.
Проблема в том, что я пытаюсь использовать функцию livereload, rack middleware version, и что происходит, так это то, что он отправляет ping to/livereload.
Но, выше маршрут перехватывает его и отправляет его на мой 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
запросы или как я могу справиться с этим другим способом?
Что должно быть быстрее? – marcamillion
Кстати .... оба эти не работают. Я все еще получаю 'ActionController :: RoutingError (Нет совпадений маршрута [GET]"/livereload "):' – marcamillion
Это другая проблема. Что касается ограничения, идея такая же, вы можете использовать ограничение, чтобы убедиться, что маршрут не будет ловить печенье, за то, что вы написали, его рабочий тон, вы можете попробовать с помощью req.params [: id]. включают в себя? ('LiveReload'). Теперь вы получаете «ActionController :: RoutingError», потому что нет маршрута, который соответствует «/ livereload», проверьте конфигурацию вашей рабочей станции, по какой-то причине маршрут промежуточным программным обеспечением не создается. – rorra