2011-07-07 97 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 

作品對我來說