我设法制作回形针并上传我的图片,但由于未知原因,即使我可以,Rails也找不到它们。
我使用Windows 10 + Rubymine 2016.1,在arborescence的项目中,我可以看到Rubymine用红色着色的几个文件夹。这些文件夹包含我上传的图片,但是当我尝试通过浏览器或<%= image_tag(@post.image.url(:small)) %>
访问它们时,我获得了404状态
这是我的模特
class Post < ActiveRecord::Base
validates_presence_of(:titre, :contenu)
has_attached_file :image, :styles => {
:large => "400x400>",
:medium => "300x300>",
:thumb => "100x100#"
},
:default_url => "/images/:style/missing.png",
:path => ":rails_root/public/system/:class/:attachment/:style/:filename",
:url => '/images/:class/:id/:basename.:extension'
validates_attachment_content_type :image, :content_type => /\Aimage\/.*\Z/
end
有人知道颜色的含义,或者如何解决我的404错误状态? 提前致谢
更新
在尝试一些虚荣的事情时,我在brut HTML中手动添加了以下内容:
<img src="/system/posts/images/large/sorry.jpg" alt="">
我的形象显得很好。所以我想@ post.image.url创建的路径是错误的,因为它是/system/posts/images/000/000/012/medium/nope.jpg
我怎么能把它放在我的模型中?
答案 0 :(得分:1)
没有为图像声明:small
标识符。试试:
<%= image_tag(@post.image.url(:thumb)) %>
:path => "#{Rails.root}/public/system/:class/:attachment/:style/:filename"
另外我认为没有必要在模型atatchment配置中添加:url
。
对我来说工作正常如下:
has_attached_file :image,
:styles => {
:thumb => "100x100#",
:small => "300x300>",
:large => "700x700>"
},
:path => "image/:class/:style/:id.:extension"