Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何使用gem dragonfly获得正确的路径默认图像?_Ruby On Rails_Dragonfly Gem - Fatal编程技术网

Ruby on rails 如何使用gem dragonfly获得正确的路径默认图像?

Ruby on rails 如何使用gem dragonfly获得正确的路径默认图像?,ruby-on-rails,dragonfly-gem,Ruby On Rails,Dragonfly Gem,我使用gem蜻蜓加载文件 我有模型照片: class Photo < ApplicationRecord dragonfly_accessor :avatar do default 'public/avatar.png' end ................................ end 设置文件蜻蜓 蜻蜓.rb require 'dragonfly' # Configure Dragonfly.app.configure do

我使用gem蜻蜓加载文件

我有模型照片:

class Photo < ApplicationRecord
    dragonfly_accessor :avatar do
      default  'public/avatar.png'    
    end
................................
end
设置文件蜻蜓

蜻蜓.rb

require 'dragonfly'

# Configure
Dragonfly.app.configure do
  plugin :imagemagick

  secret "7c510e8ed95f9929f09981ef5f42ffc75034703184575044d2835ebbbd2a350b"

  url_format "/media/:job/:name"

  datastore :file,
    root_path: Rails.root.join('public/system/dragonfly', Rails.env),
    server_root: Rails.root.join('public')
end

# Logger
Dragonfly.logger = Rails.logger

# Mount as middleware
Rails.application.middleware.use Dragonfly::Middleware

# Add model functionality
if defined?(ActiveRecord::Base)
  ActiveRecord::Base.extend Dragonfly::Model
  ActiveRecord::Base.extend Dragonfly::Model::Validations
end

我需要用于粘贴图像标签的路径图像。如何获取正确路径../public/avatar.png

您应该使用远程url而不是url来获取完整路径 像

如果您想在图像标签中使用上传的图像,那么您可以直接使用

image_tag(@photo.avatar.url)

您应该使用remote\u url而不是url来获取完整路径 像

如果您想在图像标签中使用上传的图像,那么您可以直接使用

image_tag(@photo.avatar.url)
试试这个

img = Dragonfly[:images].fetch_file(File.join(Rails.root, 'public', 'toekomst', 'images', 'sample.png'))
请参阅此链接()

试试这个

img = Dragonfly[:images].fetch_file(File.join(Rails.root, 'public', 'toekomst', 'images', 'sample.png'))
请参阅此链接()

I创建的解决方案:

dragonfly_accessor :avatar do
      default  Rails.root.join('public', 'images', 'default', 'avatar.png')    
    end
我创建了一个解决方案:

dragonfly_accessor :avatar do
      default  Rails.root.join('public', 'images', 'default', 'avatar.png')    
    end

您能在dragonfly.rb文件中写入设置吗?但是实际路径的需要是什么,因为@photo.avatar.url将正确设置图像,但是当打开直接url时,您可以直接使用上面的路径,如image_标记(@photo.avatar.url),显示错误-DRAGONFLY:fetch file/home/ubuntu/workspace/public/avatar.png不允许-使用fetch_file_白名单允许它。您可以在DRAGONFLY.rb文件中写入设置吗?但是实际路径的需要是什么,因为@photo.avatar.url将正确设置图像,但是当打开直接url时,您可以直接使用上面的路径,如image_标记(@photo.avatar.url),显示错误-蜻蜓:fetch file/home/ubuntu/workspace/public/avatar.png不允许-使用fetch_file_白名单允许我如何添加路径public/avatar.png?只需将您的图像添加到此路径
assests/images
I added img=drangfly.app(:images)。fetch_文件(file.join(Rails.root,'public'、'toekomst'、'images'、'avatar.png'))蜻蜓访问器:头像不显示默认img#“public/avatar.png”结束不显示:。资产/imagesHow me add my path public/avatar.png中的图像?只需将您的图像添加到此路径
assests/images
I added img=Dragonfly.app(:images)。获取_文件(file.join(Rails.root,'public',toekomst',images',avatar.png'))蜻蜓访问器:头像不显示默认img#“public/avatar.png”结束不显示:。资产/图像中的图像