% rails active_storage:install
Installieren Sie Active_storage und generieren Sie verwandte Dateien (Migration usw.)
%rails db:migrate
Wenn Sie Seaquel Pro aktivieren und die folgende Tabelle generiert wird, ist dies bisher erfolgreich. Dies vervollständigt den "Container" zum Speichern von Bildern.
class Message < ApplicationRecord
~Beschreibungen wie andere Assoziationen werden weggelassen~
has_one_attached :image
end
Es ist vielleicht leichter vorstellbar, "Ich habe eine Pseudobildspalte erstellt" zu sagen, als eine Assoziation.
In der Nachrichtentabelle von seaquel_pro ist die Bildspalte nicht vorhanden
Aufgrund der im Modell beschriebenen has_one_attached befindet sich jedoch eine "Pseudobildspalte" in der Nachrichtentabelle.
Von hier aus können die Bildinformationen in params in messages_controller.rb übersprungen werden.
controllers/messages_controller.rb
class MessagesController < ApplicationController
def new
@message = Message.new
end
def create
@mesage = Message.create(message_params)
end
private
def message_params
params.require(:message).permit(:content, :image).merge(user_id: current_user.id)
end
end
<%= form_with model: @message, local: true do |form| %>
<%= form.text_area :content %><br>
<%= form.file_field :image %><br>
<%= form.submit %>
<% end %>
<% if @message.image.attached? %>
<%= image_tag @message.image %>
<% end %>
das ist alles! !!
Recommended Posts