ActionView::TemplateError (Fehlende Vorlage) In ruby on rails
Ich arbeite mit einer RoR-Anwendung (rails 2.3.8, ruby 1.8.7), die Anwendung läuft problemlos auf meiner lokalen Maschine. aber auf die Produktion, die logs zeigen die folgende Fehlermeldung:
ActionView::TemplateError (Missing template folder/_file_name.erb in view path app/views) on line #19 of app/views/layouts/main.rhtml:
19: <%= render :partial => "folder/file_name" -%>
den Namen der Datei existiert folder/_file_name.html.erb
habe ich versucht, das problem zu reproduzieren, die auf der Produktionsumgebung, aber nicht Glück haben, für einige Grund rails-Anwendung fragt für folder/_file_name.erb
zu manchen Zeiten, während andere Male sucht er nach der richtigen Datei folder/_file_name.html.erb
.
Könnte mir jemand erklären, was Los ist?
Das gleiche tritt auch auf, für .rhtml-Dateien, rails-Anwendung Anforderungen .erb an mal, während andere das Recht zu bekommen .rhtml-Datei
update:
<%= render :partial => "shared/meta_tags" -%>
<%= render :partial => "shared/common_resources" -%>
<%= render :partial => 'shared/ads/oas' -%>
Alle Hinweise auf dieses Problem hilfreich sein wird,
vielen Dank im Voraus
InformationsquelleAutor wael34218 | 2011-02-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was ist das format der Anfrage?, für das erste template (
folder/_file_name.html.erb
) es werden nur korrekt sein, wenn die Anfrage format html ist, aber nicht, wenn es ajax oder anderen benutzerdefinierten Typs müssen Sie in Ihrer app. Eine schnelle Lösung wäre, um es umzubenennen, umfolder/_file_name.erb
wenn Sie möchten, verwenden Sie die gleichen Teilmengen für alle FormateHah stimmt... auch sicherstellen, dass in den logs, wenn der Fehler passieren, die Anfrage ist in der ersten Zeile
AS HTML
. Auch der code, der macht die teilweise hilfreich wäre, verwerfen Sie alle anderen MöglichkeitenWahrscheinlich ein Fehler tritt auf, auf einem xhr-Anfrage, die versuchen zu Rendern, Fehler-Seite, macht einige Teiltöne.
InformationsquelleAutor Fernando Diaz Garrido
Gibt es eine controller-Aktion mit dem gleichen Namen wie diese Datei?
Wenn Sie ein foo-controller mit einer action bar und keine Antwort Definition in Ihrer Aktion, Schienen versuchen und Rendern anzeigen/foo/bar.html-Code.erb.
Wenn das ist nicht, was Sie wollen, Sie müssen definieren, eine Antwort in Ihrem controller und Rails mitteilen zu Rendern die entsprechende partielle, etwa so:
Im letzteren Fall, Rails machen wird "views/foo/_bar.html-Code.erb"
InformationsquelleAutor Jeff Keen
In einigen Fällen können Sie nicht verhindern, dass dieser Fehler da sind, laden Gründen, wie fehlende cache, unbekannte Anfrage-format und etc
Können Sie versuchen, beschränken die Anzahl der vordefinierten Formate wie:
Jedoch habe ich noch folgende Methode in meiner application_controller.rb-Datei, so dass solche Fehler machen wird eine 404-Seite ziemlich versagt mit einer Fehlermeldung auf dem Bildschirm
können Sie wickeln Sie diesen code in eine if-Anweisung, so etwas wie dieses
if Rails.env.production?
gegeben, dass die env-setup so Ihre dev-Umgebung nicht beeinflusst werdenInformationsquelleAutor shakirthow