如何使用 gem dragonfly 获取正确的路径默认图像?
How get correct path default image using gem dragonfly?
我用来加载文件gem蜻蜓
我有模特照片:
class Photo < ApplicationRecord
dragonfly_accessor :avatar do
default 'public/avatar.png'
end
................................
end
当我打电话给 pry(#<#<Class:0x007f83508fb8f0>>)> @photo.avatar.url
我明白了
=> "/media/W1siZmYiLCJwdWJsaWMvYXZhdGFyLnBuZyJdXQ/avatar.png?sha=338938a0ea07d56b"
设置文件蜻蜓。
dragonfly.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
我需要路径图像才能粘贴到 image_tag。如何获得正确的路径 .../public/avatar.png?
您应该使用 remote_url 而不是 url 以获得完整路径
喜欢
@photo.avatar.remote_url
如果你想在图片标签中使用上传的图片,那么你可以直接使用
image_tag(@photo.avatar.url)
试试这个
img = Dragonfly[:images].fetch_file(File.join(Rails.root, 'public', 'toekomst', 'images', 'sample.png'))
参考这个 link (http://markevans.github.io/dragonfly/rails/)
我创建了解决方案:
dragonfly_accessor :avatar do
default Rails.root.join('public', 'images', 'default', 'avatar.png')
end
我用来加载文件gem蜻蜓
我有模特照片:
class Photo < ApplicationRecord
dragonfly_accessor :avatar do
default 'public/avatar.png'
end
................................
end
当我打电话给 pry(#<#<Class:0x007f83508fb8f0>>)> @photo.avatar.url
我明白了
=> "/media/W1siZmYiLCJwdWJsaWMvYXZhdGFyLnBuZyJdXQ/avatar.png?sha=338938a0ea07d56b"
设置文件蜻蜓。
dragonfly.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
我需要路径图像才能粘贴到 image_tag。如何获得正确的路径 .../public/avatar.png?
您应该使用 remote_url 而不是 url 以获得完整路径 喜欢
@photo.avatar.remote_url
如果你想在图片标签中使用上传的图片,那么你可以直接使用
image_tag(@photo.avatar.url)
试试这个
img = Dragonfly[:images].fetch_file(File.join(Rails.root, 'public', 'toekomst', 'images', 'sample.png'))
参考这个 link (http://markevans.github.io/dragonfly/rails/)
我创建了解决方案:
dragonfly_accessor :avatar do
default Rails.root.join('public', 'images', 'default', 'avatar.png')
end