[RUBY] [Schienen] Speichern Sie Bilder mit Carrierwave

Es wird als Titel sein.

Ziel ist es, das Bild anzuzeigen.

Juwel eingeführt

Fügen Sie zuerst einen Edelstein ein. Wenn Sie die Version nicht angeben, wird die neueste Version installiert.

Gemfile


gem 'carrirewave'

Vielen Dank für Ihre fortgesetzte Unterstützung am Terminal.

$ bundle install

Generierung von Uploader-Dateien

Als nächstes erstellen wir eine Uploader-Datei.

$ rails generate uploader Image
create  app/uploaders/image_uploader.rb

Sie sollten jetzt image_uploader.rb in app / uploaders haben.

Übrigens ist der Teil "Image" der zu montierende Modellname. Ein beschreibender Name. Ich generiere oft mit Image.

image_uploader.rb


class ImageUploader < CarrierWave::Uploader::Base
 # Include RMagick or MiniMagick support:
  # include CarrierWave::RMagick
  # include CarrierWave::MiniMagick
  # process resize_to_fit: [300, 200]

  # version :thumb do
  #   process :resize_to_fit => [50, 50]
  # end

  #Unten weggelassen
end

In dieser Datei können Sie Einstellungen für das Hochladen von Bildern vornehmen. Sie können beispielsweise die Erweiterung des hochgeladenen Bilds einschränken, die Größe des Bildes ändern und vieles mehr.

Schreiben Sie auf das Modell

Hängen wir die zuvor erstellte Datei in das Modell ein, in das Sie Bilder hochladen möchten.

Betrachten wir diesmal den Fall, in dem Sie ein Bild in der Bildspalte des Hoge-Modells registrieren möchten.

hoge.rb


class hoge < ApplicationRecord
  mount_uploader :image, ImageUploader
end

Erstellen Sie ein Formular zur Registrierung

Ich werde Ihnen auf jeder Seite die notwendigen Informationen geben.

hoges_controller.rb


class ArticlesController < ApplicationController

  def new
    @article = Article.new
  end

  def create
    @article = Article.new(user_params)
    if @article.save
      redirect_to user_path(@article)
    else
      render :new
    end
  end

  private
  def article_params
    params.require(:article).permit(:image)
  end
end

/hoges/new.html


<%= form_with model: @hoge, local: true do %>
    <div class="field">
		<%= f.label :image %>
		<%= f.file_field :image %> <!--Das Bild ist eine Datei_field -->
	<div class="action">
		<%= f.submit %>
	</div>
<% end %>

Hochgeladene Bilder anzeigen

Das Bild wird grundsätzlich wie folgt schriftlich angezeigt.

<%= image_tag @article.image.url %>
<%= image_tag @article.image.to_s %> 

Am Ende

Vielen Dank für das Lesen bis zum Ende. Ich hoffe, es wird denen helfen, die studieren.

Recommended Posts

[Schienen] Speichern Sie Bilder mit Carrierwave
[Rails] So laden Sie Bilder mit Carrierwave hoch
[Rails] So laden Sie mehrere Bilder mit Carrierwave hoch
[Rails] Carrierwave einführen
[Rails] So laden Sie Bilder mit Carrierwave und Fog-Aws in AWS S3 hoch
[rails6.0.0] Speichern von Bildern mit Active Storage im Assistentenformat
Laden Sie einfach mehrere Bilder mit Rails Rails + Carrierwave + Cloudinary hoch
CarrierWave Laden Sie mehrere Bilder hoch
Verwenden Sie Bilder mit Schienen
Speichern Sie Daten aus einer Excel-Datei mit Rails gem roo
Hinzufügen, Speichern, Löschen, Hinzufügen von Spalten, Speichern von Bildern aus der Rails-DB-Erstellung
So laden Sie Bilder von AWS S3 herunter (Rails, Carrierwave)
[Schienen] Wie poste ich Bilder?
[Rails API + Vue] Laden Sie Bilder mit Active Storage hoch und zeigen Sie sie an
SNS-Authentifizierung mit Rails Google
Japanisieren Sie mit i18n mit Rails
[Rails] Japanische Lokalisierung mit Rails-i18n
[Rails 6] Das Speicher-Timing von active_strage-Bildern wurde geändert.
Speichern und zeigen Sie mehrere Bilder an
Holen Sie sich Twitter-Bilder mit twitter4j
Rails Active_storage - Vereinfachen Sie das Speichern von Bildern -
[Rails] Testcode mit Rspec
Fehler bei der Verwendung von Schienen Capybara
[Rails] Versuchen Sie, Faradays Middleware zu verwenden
Detaillierte Tipps zur Verwendung von Rails
[Rails 6] Sternförmige Überprüfung mit Raty.js
[Rails] So laden Sie Bilder mit refile und refile-s3 in AWS S3 hoch
Bild-Upload mit CarrierWave ~ Rspec-Test ~
[Hidden_field] Sende Informationen mit Rails hidden_field !!!!
[Schienen] Startzeit und Endzeit speichern
Holen Sie sich PV (Ansichten) mit Impressionist ~ Rails
[Rails] Tag-Verwaltungsfunktion (unter Verwendung von Acts-as-Taggable-On)
[Rails 6] Zwei Methoden zur gleichzeitigen Eingabe mehrerer Bilder mit CarrierWave / (1) Eingabe mit anfänglichen Startdaten / (2) Import mit CSV
[Rails 6] API-Entwicklung mit GraphQL (Query)
[Rails] Sprachposting-Funktion ~ Cloudinary, CarrierWave
Speichern Sie ArrayList mit GSON unter Android
[Schienen 6] zerstören mit der Ressourcenmethode
[Schienen] "Eingabe" -> "Bestätigungsbildschirm" -> "Speichern" -> "Ansicht"
[Rails] Statusaktualisierung mithilfe der Rake-Task