首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Errno::ENOENT在ActiveStorage::DiskController#show中

Errno::ENOENT在ActiveStorage::DiskController#show中
EN

Stack Overflow用户
提问于 2020-01-29 11:11:27
回答 1查看 463关注 0票数 1

app/models/user.rb

代码语言:javascript
复制
class User < ApplicationRecord
has_one_attached :avatar
end

app/控制器/admin/home_Controller.rb

代码语言:javascript
复制
class Admin::HomeController < Admin::BaseController
  def show
  end
end

app/view/admin/home/how.html.slm

代码语言:javascript
复制
    - if current_user.avatar.attached?
      / - binding.pry
      = image_tag current_user.avatar.variant(resize: "160x160"), alt: 'User Image', class: 'img-circle elevation-2'
    - else
      = image_tag 'backend/default-avatar.png', alt: 'User Image', class: 'img-circle elevation-2'

配置/环境/Production.rb

代码语言:javascript
复制
config.active_storage.service = :local

配置/环境/开发.

代码语言:javascript
复制
config.active_storage.service = :local

config/storage.yml

代码语言:javascript
复制
local:
  service: Disk
  root: <%= Rails.root.join("storage") %>

I在环境中工作:开发。但是它在环境中不起作用:生产

代码语言:javascript
复制
Errno::ENOENT in ActiveStorage::DiskController#show
No such file or directory @ rb_file_s_mtime - /apps/example.com/releases/20200129093910/storage/kD/vP/kDvP9igiNZ58NMWhx1zAiKoC

Rails 5.2.4

所用:

  1. https://edgeguides.rubyonrails.org/configuring.html#configuring-active-storage
  2. Active_Storage (Failed to load resource: 500 error) in Production
  3. https://github.com/rails/rails/issues/31581
  4. Rails API ActiveStorage: Get Public URL to display image from AWS S3 Bucket?
EN

回答 1

Stack Overflow用户

发布于 2020-01-29 13:31:26

代码语言:javascript
复制
mkdir public/storage

config/ployy.rb

代码语言:javascript
复制
set :linked_dirs, %w{tmp/pids tmp/cache tmp/sockets vendor/bundle public/uploads public/storage}

运行命令

代码语言:javascript
复制
bundle exec cap production linked_files:upload_dirs

谢谢mechnicov

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59965805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档