0

因此,在我的 rails 应用程序中,我让用户能够将自己的头像图片和背景图片添加到他们的个人资料中。

问题是,每当我上传头像图像时,它都会显示头像和个人资料的背景。当我上传背景图片时,它会同时显示背景和头像图片,替换我设置的原始头像图片。

在我的本地主机上,这工作正常。用户个人资料既可以显示头像图片,也可以显示我设置的背景图片。但是,这个问题似乎只发生在heroku上。

关于如何解决这个问题的任何想法?

这是一个 Rails 应用程序,我使用的是回形针和 aws-sdk。

这是我的一些来自用户#show的代码...

背景:

 <div class="bg-dark lter nav-user pos-rlt" style="<%= show_user_bg %>"> 

头像:

<a href="#" class="thumb-sm avatar animated rollIn" style="margin-left:22%;" data-         toggle="dropdown">
<%= image_tag @user.avatar.url(:medium) %>
<span class="caret caret-white"></span>
</a>

后台的 css 包含在 users_helper...

module UsersHelper
def show_user_bg
"background:transparent url(#{@user.background.url}) no-repeat center center fixed; 
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;"
end
end

这是来自用户的模型...

# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me, :name, :avatar,         :tagline, :bio, :phone, :website, :city, :background
# attr_accessible :title, :body

validates_attachment :avatar, 
                    content_type: { content_type: ['image/jpeg',   'image/jpg', 'image/png', 'image/gif'] },
                    size: { less_than: 5.megabytes }
validates_attachment :background, 
          content_type: { content_type: ['image/jpeg', 'image/jpg', 'image/png', 'image/gif'] },
          size: { less_than: 5.megabytes }            

has_many :projects
has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" },  :default_url => "/images/:style/missing.png"
has_attached_file :background, :styles => { :medium => "300x300>", :thumb => "100x100>" },  :default_url => "/images/:style/missing.png"
end

这是表单中用于上传文件的代码...

<%= f.input :avatar, label: "Upload Avatar", class: "btn btn-sm btn-info m-b-sm file-input" %>

<%= f.input :background, label: "Upload Background", class: "btn btn-sm btn-info m-b-sm file-input" %>

我在日志中没有收到错误。所以,我不是我做错了什么。

提前感谢您提供的任何帮助。

4

1 回答 1

0

我想到了。

这真的很简单。

之前,图像大小都是:medium。因此,由于某种原因,导致用户头像图像也显示为配置文件中的背景图像,反之亦然。

当我将背景图像大小更改为 :large 并更改尺寸时,它在配置文件上正确显示了两个图像。

has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" }, :default_url => "/images/:style/missing.png"
has_attached_file :background, :styles => { :large => "400x600>", :thumb => "100x100>" }, :default_url => "/images/:style/missing.png"
于 2013-10-01T03:23:01.207 回答