[RUBY] [Schienen] Wie poste ich Bilder?

So posten Sie ein Bild

Das Verfahren zum Posten eines Bildes ist wie folgt.

1. Füge refile zu gemfile hinzu

Rolle der Refile -Bilder können leicht aufgenommen werden. -Kann Thumbnails generieren. -Sie können das Ziel für das Hochladen von Dateien festlegen.

refile-mini-magick ist ein Juwel zum Ändern der Bildgröße.

#Bildposting Juwel
gem "refile", require: "refile/rails", github: 'manfe/refile'
#Bildverarbeitung (Größenanpassung usw.) Juwel
gem "refile-mini_magick"

Vergessen Sie nicht, die Installation zu bündeln.

$ bundle install

2. Fügen Sie die Spalte image_id hinzu

Fügen Sie der Benutzertabelle eine image_id-Spalte hinzu.

$ rails g migration AddImageIdToUsers image_id:string

Vergiss das auch nicht. Reflektiert in der Datenbank mit $ Rails db: migrate.

$ rails db:migrate

3. Fügen Sie die Anhangsmethode hinzu

Um Refile verwenden zu können, müssen Sie Ihrem Modell eine Anhangsmethode hinzufügen. Die Anhangsmethode ist erforderlich, damit die Refile auf die angegebene Spalte zugreifen kann. Auf diese Weise können in der Datenbank vorhandene Bilder erfasst und hochgeladen werden. Der Spaltenname lautet image_id, aber _id wird hier nicht benötigt.

app/models/user.rb


class User < ApplicationRecord
  attachment :image
end

4. Fügen Sie image_id zu Strong Parameters hinzu

class UserController < ApplicationController
  #Kürzung

  private
  def list_params
    params.require(:user).permit(:name, :email, :image)
 end
end

5. Betten Sie f.attachment_field in die Ansichtsdatei ein

Schreiben Sie als Nächstes wie folgt auf die Seite, um das Bild zu veröffentlichen.

<%= f.attachment_field :image %>

Recommended Posts

[Schienen] Wie poste ich Bilder?
Wie schreibe ich Rails
[Rails] So laden Sie Bilder mit Carrierwave hoch
So deinstallieren Sie Rails
[Rails] So laden Sie mehrere Bilder mit Carrierwave hoch
Umgang mit hochgeladenen Bildern
[Rails] Verwendung von Enum
So minimieren Sie Java-Images
[Rails] Verwendung von Enum
Wie man Schienenrouten liest
Verwendung von Rails Join
So beenden Sie den Rails-Server
Wie schreibe ich Rails Seed
[Rails] Verwendung der Validierung
[Schienen] So deaktivieren Sie Turbolinks
[Rails] So verwenden Sie authenticate_user!
[Rails] So implementieren Sie Scraping
[Schienen] Wie man Samen macht
Wie schreibe ich Rails Routing
[Rails] So installieren Sie simple_calendar
[Rails] So installieren Sie reCAPTCHA
[Schienen] Verwendung von Scope
So laden Sie Bilder von AWS S3 herunter (Rails, Carrierwave)
[Rails] Wie man Edelstein "devise" benutzt
[Schienen] Verwendung von Geräten (Hinweis)
[Rails] Verwendung von Flash-Nachrichten
[Rails] Anzeigen von Datenbankinformationen
[Schienen] So verhindern Sie den Bildschirmübergang
Verwendung von HttpClient (Post) von Java
Verwendung von Ruby on Rails
So stellen Sie Bootstrap auf Rails bereit
[Rails] So beschleunigen Sie das Docker-Compose
[Schienen] So fügen Sie neue Seiten hinzu
[Rails] Wie schreibe ich eine Ausnahmebehandlung?
[Rails] So installieren Sie ImageMagick (RMajick)
[Rails] So installieren Sie Font Awesome
[Rails] Verwendung von Active Storage
So installieren Sie jQuery in Rails 6
[Rails] So implementieren Sie die Sternebewertung
[Einführung in Rails] Verwendung von Render
So installieren Sie Swiper in Rails
So implementieren Sie Suchfunktionen in Rails
So ändern Sie den App-Namen in Rails
[Rails] Wie man von erb zu haml konvertiert
So fügen Sie ein Video in Rails ein
So wechseln Sie Miniaturbilder mit JavaScript
[Rails] Verwendung von ActiveRecord :: Bitemporal (BiTemporalDataModel)