基于多态模型属性使用回形针创建不同样式的图像附件?
create different styled image attachments with paperclip based on polymorphic model attribute?
我正在使用多态图片模型将图像与其他模型(如用户、地点等)关联起来。
作为回形针文档,图片模型可以使用以下方式定义一组样式:
has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" }
但是作为多态的并且关联到不同的模型,每个条目所需的样式将不同。要解决这个问题,我该如何即时设置自定义样式?
我们使用类似于您所指的东西。
--
我们在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
模型(带有相应的数据库)来保存所有数据。这个 asset
模型然后将 url
方法(对于 Paperclip)委托给它的依赖模型。
多态关联的原始代码是here。
--
因为回形针样式是默认值,您可以根据需要在任何依赖模型中覆盖它们。
我正在使用多态图片模型将图像与其他模型(如用户、地点等)关联起来。
作为回形针文档,图片模型可以使用以下方式定义一组样式:
has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" }
但是作为多态的并且关联到不同的模型,每个条目所需的样式将不同。要解决这个问题,我该如何即时设置自定义样式?
我们使用类似于您所指的东西。
--
我们在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
模型(带有相应的数据库)来保存所有数据。这个 asset
模型然后将 url
方法(对于 Paperclip)委托给它的依赖模型。
多态关联的原始代码是here。
--
因为回形针样式是默认值,您可以根据需要在任何依赖模型中覆盖它们。