2

我正在使用回形针上传图片:
我收到错误消息:

Started GET "/assets/audios/thumbnails/7/thumb/4_X_4.jpg?1345530644"
for 127.0.0.1 at 2012-08-21 12:03:04 +0530
Served asset /audios/thumbnails/7/thumb/4_X_4.jpg - 404 Not Found (1ms)<br/>
ActionController::RoutingError (No route matches [GET] "/assets/audios/thumbnails/7/thumb/4_X_4.jpg"):<br/>

在我的模型中:

has_attached_file :thumbnail,
:styles => {:medium => "300x300>", :thumb => "100x100>"},
:url => "assets/:class/:attachment/:id/:style/:basename.:extension",
:path => ":rails_root/assets/:class/:attachment/:id/:style/:basename.:extension" 
4

3 回答 3

2

:url => "assets/...",
:path => ":rails_root/assets/..."

应该

:url => "/assets/...",
:path => ":rails_root/public/assets/..."

尽管将附件保存在资产目录中是一个糟糕的主意。你可以有另一个,比如filesinside public

:url => "/files/:class/:attachment/:id/:style/:basename.:extension",
:path => ":rails_root/public/files/:class/:attachment/:id/:style/:basename.:extension"

保存在内部public/files并使用/filesurl 将使网络服务器在 rails 之前命中文件(当然,正确配置您的网络服务器,例如 nginx,是另一个问题)

于 2013-11-27T03:12:57.443 回答
1

我在网上不断搜索后找到了正确的解决方案。我试图通过我能想到的所有概率来处理这个问题:- 权限、更正路径、将服务器从 webrick 更改为瘦服务器。然后我研究了环境属性。因此,这是您的生产环境集中的正确答案:

  config.serve_static_assets = true

这解决了问题。

于 2012-08-21T10:25:39.580 回答
-6

以下链接可能对您有所帮助:
使用回形针上传图片

于 2012-08-21T08:19:31.200 回答