image_tag没有显示回形针上传的图片

时间:2014-11-22 00:43:30

标签: ruby-on-rails image file-upload paperclip

您好我正在使用paperclip上传并在我的应用中保存公司头像。这就是它在公司模型上的表现:

has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" }, :default_url => "/images/missing.png"
validates_attachment_content_type :avatar, :content_type => /\Aimage\/.*\Z/

我还使用了初始化程序paperclip.rb:

Paperclip::Attachment.default_options[:storage] = :fog
Paperclip::Attachment.default_options[:fog_credentials] = {:provider => "Local", :local_root => "#{Rails.root}/public"}
Paperclip::Attachment.default_options[:fog_directory] = ""
Paperclip::Attachment.default_options[:fog_host] = "http://localhost:3000"

图像保存正确,但是当我尝试这样显示时:

<%= image_tag @company.avatar.url(:thumb) %>

它只显示文件的名称而没有图像。

html看起来像这样:

<img alt="Mini cooper" src="http://localhost:3000/companies/avatars/000/000/003/thumb/mini-cooper.jpg%3F1416616058">

如果我将.jpg之后的字符取出如下:

http://localhost:3000/companies/avatars/000/000/003/thumb/mini-cooper.jpg

我看到图像就好了。但帮助者只是用那些额外的字符构建url。 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您的问题看起来与recent commit相关,而{{3}}没有正确转义时间戳。临时解决方法是在解决问题时禁用时间戳。

个人来电

@company.avatar.url(:thumb, timestamp:false)

或者您可以全局禁用此功能,但将以下行放在config/initializers/paperclip.rb文件中。

Paperclip::Attachment.default_options[:use_timestamp] = false