Wenn lokal Rails Entwicklung 3.2, ich die folgenden Fehlermeldung in regelmäßigen Abständen erhalten:Rails 3.2: Routing Helfer in Ansichten brechen lokal nach anderen Fehlern
In order to use #url_for, you must include routing helpers explicitly. For instance, `include Rails.application.routes.url_helpers
Dieser Fehler wird von meinen Ansichten in einem sehr einfachen link_to
Anruf geworfen , wo diese Routing-Helfer automatisch eingebunden sind und keinen solchen Fehler auslösen sollten. Ich glaube nicht, der Fehler auftritt, wo es heißt, aber ich werde ein Beispiel Fehler Dump der Vollständigkeit halber schreiben:
Completed 500 Internal Server Error in 233ms
ActionView::Template::Error (In order to use #url_for, you must include routing helpers explicitly. For instance, `include Rails.application.routes.url_helpers):
1: <%= form_tag products_path do %>
app/views/layouts/_search_banner.html.erb:1:in `_app_views_layouts__search_banner_html_erb___3528929561490713150_70155778060240'
app/views/pages/new.html.erb:1:in `_app_views_pages_new_html_erb__29715639072237790_70155789748980'
Bevor es scheint, ich bin in der Lage richtig alle meine Seiten zu betrachten; nachdem es angezeigt wird, schlagen dieselben Seiten, die soeben erfolgreich geladen wurden, mit demselben Fehler fehl. Sobald der Fehler auftritt, kann ich den lokalen Rails-Server nur noch beenden und neu starten. Sobald ich meinen Server neu starte, verschwindet der Fehler und alles läuft normal weiter.
Auch dieser Fehler erscheint nur lokal auf meinem Computer - der Code ist auf Heroku bereitgestellt und dieser Fehler ist nicht in Monaten der Bereitstellung erschienen, und keine anderen Teammitglieder, die auf dem gleichen Code arbeiten, haben den Fehler gesehen. EDIT: andere Teammitglieder, die auf dem gleichen Code arbeiten tun sehen den gleichen Fehler.
Obwohl dieser Fehler manchmal ohne erkennbare Ursache aus dem Nichts auftaucht, gibt es ein paar Trends, die ich bemerkt habe. Es erscheint häufig unmittelbar nach einem anderen Fehler. Es ist auch wahrscheinlicher, dass es angezeigt wird, wenn der Rails-Server einige Zeit im Leerlauf war, ohne dass Seiten geladen wurden.
EDIT: Weitere Informationen Rails-Version: 3.2.13 Ruby-Version: 2.0.0
Der vollständige Stack-Trace kann durch das Schreiben von Code here
ich erreichte die Fehler gefunden werden, ein werfen Fehler in einer Aktion, Senden einer Anfrage an diese Aktion und dann Versuch, auf eine andere Seite in der Anwendung zuzugreifen. Interessanterweise war der erste Fehler, den ich zu verwenden versuchte, eine Division durch Null, die den Fehler nicht verursachte. Als Nächstes habe ich einen Fehler "Undefinierte Methode für Array []" erstellt, der zu dem hier beschriebenen führte.
EDIT: Deprecation Warnung für Rails 2.3-Stil Plugins Wenn ich Heroku einsetzen, bekomme ich folgende Fehlermeldung:
DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins!
Support for these plugins will be removed in Rails 4.0.
Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb.
See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released.
(called from <top (required)> at /tmp/build_175439d1-f385-43bd-bf52-ebcae817e70b/Rakefile:7)
Dieser Fehler in meinem Rakefile auf der Linie MyApp::Application.load_tasks
geworfen wird. Ich habe keine Dateien in meinem Verzeichnis vendor/plugin
.
auch, im Gegensatz zu [anderen ähnlichen SO-Posts] (http://stackoverflow.com/questions/17553326/call-to-expire-fragment-raises-to-use-url- für-Sie-müssen-einschließen-routing-helpe?rq = 1), habe ich vor kurzem nicht die rails version gewechselt. – hunteros
Haben Sie versucht, Ruby und Rails neu zu installieren, da diese Ausnahme nur in Ihrer lokalen Umgebung auftritt? Was ist die Version von Ruby? Können Sie eine vollständige Ablaufverfolgung buchen? Für Ihre Referenz erhebt sich diese Ausnahme hier: https://github.com/rails/rails/blob/e20dd73df42d63b206d221e2258cc6dc7b1e6068/actionpack/lib/abstract_controller/url_for.rb – peresleguine
@peresleguine Ich habe Ruby-Version und vollständige Spur auf die Frage hinzugefügt. – hunteros