Wie um zu überprüfen, ob Bild existiert in Rails?
<%= image_tag("/images/users/user_" + @user_id.to_s + ".png") %>
Wie wollen Sie überprüfen, um zu sehen, ob es so ein Bild, und wenn nicht, dann nichts anzeigen?
Arbeiten in Rails 3.07.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Datei.gibt es?.
Die anderen Antworten sind ein wenig veraltet, aufgrund von änderungen in der Rails asset pipeline, da Rails 4. Der folgende code funktioniert in Rails 4 und 5:
Wenn Sie Ihre Datei in das öffentlichen Verzeichnis, dann ist seine Existenz kann überprüft werden mit:
Allerdings, wenn die Datei in der Vermögenswerte Verzeichnis, dann die überprüfung der Existenz ist ein wenig schwieriger, aufgrund der asset pre-Zusammenstellung in Produktionsumgebungen. Ich empfehle die folgende Vorgehensweise:
Rails.application.assets_manifest.find_sources(path).present?
Können Sie die Datei.Datei? Methode.
Können Sie auch die Datei.gibt es? Methode, aber es wird true zurück, wenn es feststellt, dass ein Verzeichnis oder eine Datei.
Die Methode Datei? ist etwas mehr wählerisch als vorhanden???
Für Schienen 5 die eine, die für mich gearbeitet ist
ActionController::Base.helpers.resolve_asset_path("logos/smthg.png")
zurück
nil
wenn das Objekt abwesend ist undpath_of_the_asset
falls vorhanden?