C'est encore moi. J'essaie de télécharger des fichiers yaml avec carrierwave. Tout fonctionne bien jusqu'à maintenant.Télécharger un fichier avec carrierwave sans nom
Alors, comme vous le savez pour carrierwave les formes ressemble à la suivante:
<%= 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 %>
Ce que je veux faire maintenant est de supprimer le champ « Nom ». Je n'en ai pas besoin. J'ai donc pensé que c'était assez facile, il suffit de supprimer la partie "nom" du formulaire. Mais je suis une erreur en téléchargement:
Name can't be blank
donc j'ai essayé maintenant presque tout ... j'avais mis le required => false
même résultat. Je suis allé voir Github et j'ai regardé leurs méthodes ... il y a des méthodes pour écraser le nom, mais personne ne se soucie de télécharger un fichier sans nom. Quelqu'un peut-il me dire comment je peux télécharger un fichier sans ce champ de nom?
Merci!
Edit:
Mon modèle resume.rb:
class Resume < ActiveRecord::Base
mount_uploader :attachment, AttachmentUploader # Tells rails to use this uploader for this model.
end
Mon 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
Retirez la validation de probablement 'Resume' –
@ j-Dexx déjà fait, n'a pas changé quoi que ce soit .. – Twinfriends
Dans le modèle? Pas seulement changer requis pour faux. –