Мой вопрос о том, как я могу загрузить изображение с URL, когда я использую Active Storage. Я использовал код из post здесь, в Stackoverflow, но проходил через метод модели, параметр, который мне нужно сохранить в моей таблице. Любопытно, что я получаю следующую ошибку:
ActiveSupport::MessageVerifier::InvalidSignature in PostsController#update
Но когда я перезагружаю представление шоу, из этой модели изображения появляются сохраненными и развернутыми в моем представлении сообщений.
Вот мой код в Пост модель :
class Post < ApplicationRecord
require 'open-uri'
has_one_attached :image_one
has_one_attached :image_two
has_one_attached :url_image
<b>before_save :grab_image</b>
<b>
def grab_image(url)
downloaded_image = open(url)
self.url_image.attach(io: downloaded_image, filename: "map.jpg", content_type:"image/jpg")
end
</b>
end
Это мой код в действии редактирования моего контроллера :
def update
@posturl = params[:post][:url_image]
<b>@post.grab_image(@posturl)</b>
respond_to do |format|
if @post.update!(post_params)
format.html { redirect_to @post, notice: 'Post was successfully updated.' }
format.json { render :show, status: :ok, location: @post }
else
format.html { render :edit }
format.json { render json: @post.errors, status: :unprocessable_entity }
end
end
end
Я получил следующие ссылки, в которых рассказывается о возможности загрузки изображений с URL-адресов, но я не знаю, что еще я могу сделать:
Обзор активного хранилища - EdgeGuides
@ omnilord / Рельсы-5-2-activestorage-смягчающий-принятие-ловушка