我正在使用多态图片模型将图像与User,Place等其他模型相关联。
作为回形针文档,图片模型可以使用以下方式定义一组样式:
has_attached_file:avatar,:styles => {:medium => “300x300>”,:thumb => “100×100>” 中}
但是作为一个多态并且与不同模型相关联,每个条目所需的样式将是不同的。要解决此问题,我该如何动态设置自定义样式?
答案 0 :(得分:0)
我们使用的是你所指的东西。
-
我们在config/application.rb
文件中设置Paperclip
defaults:
#config/application.rb
...
config.paperclip_defaults = {
styles: { :large => "x850", :medium => "x450", :thumb => "x200"},
default_url: "layout/placeholders/:style/placeholder.png"
}
这会设置一个默认样式集,可以在模型本身中覆盖。
然后我们使用asset
模型(带有相应的DB)来保存所有数据。然后,此asset
模型将url
方法(对于Paperclip)委托给其依赖模型。
多态关联的原始代码是here。
-
由于Paperclip样式是默认值,您可以根据需要在任何相关模型中覆盖它们。