覆盖在 gem 中设置的回形针 has_attached_file 设置
override paperclip has_attached_file settings that were set in a gem
在我的项目中,我有一个 gem 使用回形针作为文件附件。 gem:
中的示例模型
class Example do
...
has_attached_file :image,
styles: { mini: '32x32>', normal: '128x128>' },
default_style: :mini,
url: '/example/url/:id/:style/:basename.:extension',
path: ':rails_root/public/example/url/:id/:style/:basename.:extension',
...
end
我想修改图像,因此我可以添加另一个尺寸,而不是 mini
和 normal
尺寸。我也想改变路径。我该怎么做?我尝试创建一个像这样的装饰器:
Example.class_eval do
has_attached_file :image,
styles: { mini: '32x32>', normal: '128x128>', large: '1024x1024' },
default_style: :mini,
url: '/example/url/:id/:style/:basename.:extension',
path: 'updated/example/url/:id/:style/:basename.:extension',
end
这没有做任何事情。
不确定你现在是否已经解决了这个问题,但是对于这个问题的任何未来观众......
您可以通过修改 class 的 attachment_definitions
属性 来做到这一点。例如,您可以添加一个初始值设定项:
Example.attachment_definitions[:image][:styles][:normal] = "1000x500"
Example.attachment_definitions[:image][:path] = '...'
在我的项目中,我有一个 gem 使用回形针作为文件附件。 gem:
中的示例模型class Example do
...
has_attached_file :image,
styles: { mini: '32x32>', normal: '128x128>' },
default_style: :mini,
url: '/example/url/:id/:style/:basename.:extension',
path: ':rails_root/public/example/url/:id/:style/:basename.:extension',
...
end
我想修改图像,因此我可以添加另一个尺寸,而不是 mini
和 normal
尺寸。我也想改变路径。我该怎么做?我尝试创建一个像这样的装饰器:
Example.class_eval do
has_attached_file :image,
styles: { mini: '32x32>', normal: '128x128>', large: '1024x1024' },
default_style: :mini,
url: '/example/url/:id/:style/:basename.:extension',
path: 'updated/example/url/:id/:style/:basename.:extension',
end
这没有做任何事情。
不确定你现在是否已经解决了这个问题,但是对于这个问题的任何未来观众......
您可以通过修改 class 的 attachment_definitions
属性 来做到这一点。例如,您可以添加一个初始值设定项:
Example.attachment_definitions[:image][:styles][:normal] = "1000x500"
Example.attachment_definitions[:image][:path] = '...'