gem 'carrierwave'
$ bundle install
uploaders / image_uploader.rb wird generiert.
$ rails g uploader image
Stellen Sie die Verwendung des Uploaders in user.rb ein.
models/user.rb
class User < ApplicationRecord
mount_uploader :image, ImageUploader
end
new.html
<%= form_with(model: user, local: true) do |form| %>
<%= form.text_field :name %>
<%= form.email_field :email %>
<%= form.password_field :password %>
<%= form.file_field :image %>
#Informationen zur Bilddatei_Fügen wir den folgenden Satz hinzu, um ihn vorübergehend im Cache zu speichern!
<%= form.hidden_field :image_cache %>
<%= form.submit %>
<% end %>
index.html
//Das Bild kann mit der folgenden Beschreibung angezeigt werden//
<%= image_tag @user.image.url %>
//Bei bedingter Verzweigung mit if-Anweisung//
<% if @user.image? %>
<%= image_tag @user.image.url %>
<% else %>
#Wenn Sie standardmäßig anzeigen möchten
<%= image_tag "/assets/default.jpg " %>
<% end %>
gem 'mini_magick'
$ bundle install
image_uploader.rb
class AvaterUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
#Bildgröße anpassen
process resize_to_fit: [100, 100]
end
das ist alles
Recommended Posts