将default_url paperclip图像放在Rails 4.1应用程序的公共目录中有什么不对吗?

时间:2014-12-18 01:13:20

标签: ruby-on-rails paperclip

我已经看到几个讨论(在stackoverflow herehere上,并且作为回形针here上的错误)围绕使用Paperclip和Rails告诉default_url图像的最佳方式这样他们就可以通过资产管道在生产中正常工作。所有解决方案都显得非常复杂。

将默认图像放在Rails应用程序的public /目录中是否有任何问题?我需要担心的是我还缺什么?

如果我将图像放在公共/目录中并使用下面的代码访问它们,则所有图像似乎都能正常工作。

has_attached_file :image, 
  styles: {original: "1000x1000", medium: "530x530#", thumb: "300x300#"}, 
  default_url: "/default-avatar_:style.png"

1 个答案:

答案 0 :(得分:0)

我通常只按惯例包含assets目录中缺少的样式图像。您不需要任何额外的编码或复杂的机制来让回形针使用它们。

#Images within assets:
/app/assets/images/default-avatar_original.png
                   default-avatar_medium.png
                   default-avatar_thumb.png


# paperclip config in /app/models/user.rb
has_attached_file :image, :styles => {:original => ["1000x1000", :png],
                                       :medium   => ["530x530#", :png], 
                                       :thumb    => ["300x300#", :png] }, 
                :default_url => "/assets/default-avatar_:style.png"

请注意,在指定default_url时,会排除/ image /目录。