2011-07-07 146 views
3

我想用回形针上传文件。使用基本的开箱即用设置,我能够将文件上传到默认目录(某些在公共/系统中......)但是,当我尝试更改url或路径(或两者)时:Rails:用回形针上传文件

class Cvit < ActiveRecord::Base 
    has_attached_file :fileup, :path => ":rails_root/public/data/01_fasta" 
end 

我失去许可权01_fasta目录下,就可以做在chmod 777后,我注意到该文件是存在的,但它的名字类似,stream20110706-45944-12lt2oo-0

也试过#{RAILS_ROOT}代替:RAILS_ROOT。

什么是交易????

已解决:url:路径需要指向一个文件而不是目录。所以,我不得不像

class Cvit < ActiveRecord::Base 
    has_attached_file :fileup, 
    :url => "/data/01_fasta/:basename.:extension", 
    :path => ":rails_root/public/data/01_fasta/:basename.:extension" 
end 

回答

1

的:url和:路径需要在文件,而不是一个目录指向。所以我不得不像

class Cvit < ActiveRecord::Base 
    has_attached_file :fileup, 
    :url => "/data/01_fasta/:basename.:extension", 
    :path => ":rails_root/public/data/01_fasta/:basename.:extension" 
end 
+0

所以你可以上传文件到轨道中的自定义目录? – Jwan622

3
has_attached_file :doc, :path => ":rails_root/public/system/attachments/:id/:filename" 


def filename 
"/system/attachments/#{self.id}/#{self.doc_file_name}" 
end 

作品对我来说