2016-11-30 35 views
0

這是我的一次。我嘗試使用carrierwave上傳一些yaml文件。一切正常,直到現在。用載波上傳無名文件

所以,你知道carrierwave的形式看起來像如下:

<%= form_for @resume, html: { multipart: true } do |f| %> 
     <%= f.label :name %><br> 
     <%= f.text_field :name, :required => true %> 
     <%= f.label :attachment %><br> 
     <%= f.file_field :attachment, :required => true %> 
     <br><br> 
     <%= f.submit "Save", class: "btn btn-primary" %> 
    <% end %> 

什麼,我想現在要做的就是刪除「名稱」字段。我不需要它。所以我認爲它很容易,只是刪除表格的「名稱」部分。但後來我得到了同時上傳了一個錯誤:

Name can't be blank 

所以,我想,現在幾乎所有...我已成立了required => false相同的結果。 我去了Github,看看他們的方法...有方法來覆蓋名稱,但沒有人關心上傳沒有名字的文件。有人可以告訴我如何在沒有這個名稱字段的情況下上傳文件嗎?

謝謝!

編輯:

我resume.rb型號:

class Resume < ActiveRecord::Base 
    mount_uploader :attachment, AttachmentUploader # Tells rails to use this uploader for this model. 


end 

我AttachmentUploader:

class AttachmentUploader < CarrierWave::Uploader::Base 
    storage :file 

    def store_dir 
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" 
    end 

    def extension_white_list 
    %w(yml) 
    end 

    def filename 
    "something.jpg" if original_filename # This is the part where i'm trying around right now. 
    end 

end 
+0

刪除驗證大概'恢復' –

+0

@ j-dexx已經完成,沒有任何改變.. – Twinfriends

+0

在模型中?不僅僅需要改變爲假。 –

回答

1

嘗試在表resumes和其他人刪除列name相關, 可能的看法,控制器(strong params),遷移文件...

然後重新運行下拉,遷移數據庫

+0

謝謝,工作!我嘗試了一切......但我沒有想到它會那麼容易。 :P – Twinfriends