Rails:使用paperclip插件上传文件 - 更改存储文件的默认位置

时间:2012-04-28 23:18:37

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

您好我想更改回形针将其文件保存到的默认位置。 从文档中我看到默认位置在

rails_root/public/system/users/images/..... 

我想将文件保存到

rails_root/assets/images/uploads/.....

所以我更改了User模型如下:

class User < ActiveRecord::Base

has_attached_file :image , :url => ":rails_root/assets/images/uploads/:id/:style/:basename.:extension",
                           :path => ":rails_root/assets/images/uploads/:id/:style/:basename.:extension" 

end

然而,这不起作用。当我上传文件并转到“显示”页面时,我看到以下屏幕。

enter image description here

然而,您可以看到创建了用户。图像链接断开,当我点击链接时 我在网页上收到此消息

No route matches [GET] "/Users/AM/Documents/RailsWS/bmc_mam/assets/images/uploads/13/original/bmc_TransparentFinal.png"

有人可以帮我理解这个错误

1 个答案:

答案 0 :(得分:0)

如果不进行某些配置,图片将不会直接从assets投放。他们需要通过浏览器才能看到Rails.root/public/assets/images/uploads/etc.。在浏览器中,图像的路径类似于http://foo.com/assets/images/uploads/etc.。默认情况下,public将被删除。请查看http://guides.rubyonrails.org/getting_started.html#creating-the-blog-application以获取有关Rails应用程序的默认目录结构的一些信息。