Использование Active Storage для присоединения image
к article
в storage.yml
:
local:
service: Disk
root: <%= Rails.root.join("storage") %>
article.rb
:
class Article < ApplicationRecord
belongs_to :auteur
has_one_attached :image
в форме для добавления статьи:
<%= f.file_field :image %>
В article_controller.rb:
def hop
@auteur = Auteur.find(params[:auteur_id])
@article = @auteur.articles.new(article_params)
@article.publie = params[:publie].to_s
@article.slug = Article.to_slug(@article.titre)
@article.save
redirect_to adm_auteur_tous_articles_url
end
При этом изображение загружается в storage/es/ul/esulvqpj2apfcqx41hwdtnchd5y4
(и это правильно, так как я вижу изображение там в окне поиска MacOs)
, но на виде я делаю это:
<%= image_tag(@article.image) if @article.image.attached? %>
Изображение не отображаетсявверх, потому что URL-адрес изображения:
http://localhost:3000/rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--661c66c418b20fc46350823faaac7124c25138dd/chat.jpg
Это вызывает статус 301 moved permanently
.
Таким образом, изображение не отображается.