2015-07-10 38 views
0

使用回形针将头像附加到我的导轨应用程序的用户配置文件。我按照回形针github上的说明初始化并附加到我的应用程序。即使URL /图像位于正确位置,回形针也不会显示图像

我在public/images/medium/missing.png中有一个图像,对于这两种情况(当我上传或当我默认回退时),我都没有图像。我检查了我的目录,并且有一张图片显示它正在查看,但没有抓到它。另外,当我尝试上传图片时,我知道图片上传正确,因为在rails控制台中调用用户时,会显示所有正确附加的信息。

我在我看来调用图像,如:在用户模式

<%= image_tag(@blog.user.avatar.url(":medium"), :class => "image-circle avatar") %> 

我回形针声明如下所示:

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

真的不知道是怎么回事。当我检查不正确加载的图像点直接到我的本地服务器中的图像时出现的路由错误。事实上,它不能抓住丢失或上传的文件也让我不知所措。任何帮助将超级赞赏!

和良好的措施,当我检查了上传头像用户输出:

avatar_file_name: "11390219_10206114805925816_6595348111261743639_n.j...", avatar_content_type: "image/jpeg", avatar_file_size: 101926, avatar_updated_at: "2015-07-10 18:51:44"> 

提前感谢!

编辑

这是提供404错误的网址:

http://localhost:3000/images/medium/missing.png 

,而在我的本地目录它去 “根/公/图片/中/ missing.png”

不知道它如何不抓它,除非我只是错过了某处真正明显的东西。 (我试图在那里努力寻找公众,但无济于事)。

+0

图像帮助程序生成的URL是什么?您可以将网址直接粘贴到浏览器中,并查看您获得的错误类型。错误404?如果是这种情况,那么你有一个无效的URL。 –

+0

当我复制的网址是说没有这样的路线,但当检查元素它是一个404错误..不知道我应该如何去修复网址。 – vinchenzio

+0

仍然坚持这一点,即使只是试图让它抓住“失踪”将无法在本地主机上工作。我有public/images/medium/missing.png中的图片,以及上面所述的路线,但仍然没有运气。 – vinchenzio

回答

1

编辑

有,你根本就没有服务于静态资产的可能性,加:

config.serve_static_assets = true 

to your development.r b

原帖

在您application.rb中(或环境中的特定文件),你应该有一个config.paperclip_defaults = {...},这里是在文档的链接:https://github.com/thoughtbot/paperclip#defaults

下面是一个例子之一,采用雾:

config.paperclip_defaults = { 
    :storage => :fog, 
    :fog_credentials => { 
    :provider => "Local", 
    :local_root => "#{Rails.root}/public" 
    }, 
    :fog_directory => "", 
    :fog_host => "localhost:3000" 
} 

你有类似的东西在你的应用程序?我刚刚在我的一个应用程序上进行了测试,并且我能够上传图像,但不能在没有paperclip_defaults哈希的情况下查看任何图像。另外,不要忘记在更新配置文件后重新启动应用程序。我希望这有帮助!

+0

我尝试了默认的示例,它没有工作,我会尝试混淆选项等。但我明白覆盖默认更适用于需要将图像存储在单独服务中的情况,因此不必为每个has_attachment属性指定存储。除非这决定了它应该在哪里看?由于我一直在生成与本地服务器上的图像位置相对应的url,但如果直接输入url,我甚至无法访问公共文件夹。谢谢你的建议!我会更多地考虑默认值。 – vinchenzio

+0

也许这太明显了,但是你的development.rb中有'config.serve_static_assets = true'吗? –

+0

耶稣就是这样,我曾经看过那个文件至少50次,只是没有注册。非常感谢!!!!有时候最明显的事情是...... – vinchenzio

0

您是否尝试过杀死图像样式的引号?周围:中等?

<%= image_tag(@blog.user.avatar.url(:medium), :class => "image-circle avatar") %> 

如这里显示的回形针文档: https://github.com/thoughtbot/paperclip#show-view

+0

糟糕!没意识到我是这样发布的。是的,我只是在尝试各种各样的事情,我已经尝试过,没有引号,仍然没有运气。 – vinchenzio

+0

尝试在default_url中不包含“/ public”,这将成为获取默认图像的开始。另外,你可以发布你的config.paperclip_defaults = {...}吗? –

+0

刚刚尝试,仍然没有运气,这件事坚持不被发现。至于默认散列,我没有修改它。但现在我看起来似乎无法找到它。如果我没有改变它,它应该在安装过程中出现吗? – vinchenzio