多个Paperclip default_urls

我正在使用Paperclip将图像上传到我的Project模型,我希望有一组默认图像(不依赖于样式,但不同的图像)是可行的吗? 要将数组而不是一个URL传递给:default_url选项?

谢谢,

NicolásHockIsaza

如此接近:如果您希望图像随机变化,而不仅仅是首次加载模型:

:default_url => lambda { "path/to/images/#{rand(5)}.jpg" } 

将rand(5)放在default_url proc中将在每次创建新模型对象时分配随机图像。

如果您希望随机分配图像并且每个项目都应保留其指定的图像,则可以执行以下操作:

 has_attached_file :something, :default_url => lambda { |av| "/images/img_#{av.instance.default_image_number}.png" } def default_image_number id.to_s.last end 

此示例允许您为每条记录保留10个随机的默认图像:

 # img_0.png, img_1.png, etc. 

好吧,我没有使用lambda函数,但我从Ben的回答中得到了这个想法。 我只有文件(0.jgp,1.jpg …),然后我就可以了

:default_url =>“path / to / images /#{rand(5)}。jpg”

没有lambda 😉

非常感谢你!

不知道这是否有效,但值得一试。 将图像0.png,1.png,2.png,3.png,4.png放在磁盘上,然后在您的模型中:

 has_attached_file :image, lambda {{ :default_url => "path/to/images/#{rand(5)}.png" }} 

把你的其他选项也放在lambda中。