Ich habe hier ein paar Einträge bezüglich File.exists gefunden? in einer Rails-App, aber versuchen, die Lösungen haben nicht geholfen, ich bin ziemlich neu, also muss ich etwas Dummes tun.Rails Datei.exist? gibt false zurück, wenn die Datei vorhanden ist
Ich verwende:
- Rails 3.2.11
- Rubin 1.9.3
- Paperclip für die Datei unter
- ActiveAdmin erwähnt die Datei unter
- Arbeiten im genannten hochladen Entwicklungsumgebung
- Nicht vorkompilierte Assets
ich ein Modell „Stil“ haben und es hat eine Bildanlage, kann ich das Bild mit
<%= image_tag(@style.style_image) %>
und es funktioniert gut machen.
Kurz gesagt, ich möchte überprüfen, ob die Datei Bild tatsächlich in dem Ordner ist, in dem es sein sollte - ich möchte nicht verwenden @ style.style_image.present? zum Überprüfen von Bildern, weil nur der Datenbankdatensatz überprüft wird. Ich möchte File.exist verwenden?, um zu sehen, ob es tatsächlich eine Datei für @ style.style_image gibt.
Also meiner Ansicht Datei, habe ich den Code
<% if File.exist?(@style.style_image.url) %>
The image exists.
<% else %>
The image is not here.
<% end %>
Und es druckt immer „das Bild ist nicht hier“, wenn ich die Seite zu laden. Direkt unten zeige ich mein Bild mit image_tag an, also weiß ich, dass das Bild da ist.
Ich habe auch versucht,
<% if File.exist?(Rails.root + @style.style_image.url) %>
ohne Glück. Ich habe auch versucht, FileTest.exist?, FileTest.exists ?, und File.exists? aber keiner wird mir sagen, wenn das Bild wirklich da ist.
Gibt es etwas, das mir fehlt? Jede Anleitung würde sehr geschätzt werden. Ich bin nur ein paar Monate in Ruby and Rails, also vermisse ich wahrscheinlich etwas Dummes.
Sie müssen einen Pfad zu 'File.exist?' Nicht eine URL übergeben. – silasjmatson
Ich bin mir nicht sicher, warum Sie für diese Frage keine höhere Bewertung haben. Gut gefragt. +1. – sscirrus