Ruby on Rails: exemple de file_field sur form_for

Je suis tombé sur le fichier de téléchargement de problème dans les Rails. J'ai trouvé file_field :file helper, qui peut être utilisé avec form_for(@some_model). Cependant, je ne trouve aucune utilisation pour ce cas, que ces balises sont utilisées pour créer/modifier une partie du modèle, par l'attribution de masse. Il est, autant que je sache, aucune possibilité de traiter fileupload comme typique sur le terrain ( Voir Upload de fichier ne fonctionne pas dans Ruby on Rails 3, à l'aide de Formulaire Multipart ). Dans un tel cas, l'opération manuelle sur le fichier téléchargé est nécessaire. Alors, pourquoi quelqu'un veut même met un fileupload, comme une partie du modèle de l'édition?

photo.rb

   class Photo < ActiveRecord::Base
       attr_accessible :name, :filename,
   end

photo_form.html.erb

<%= form_for(@photo, :multipart => true) do |f| %>

  <%= f.label :name %> 
  <%= f.text_field :name %>

  <%= f.file_field :file %>

  <%= f.submit %>

<% end %>

photos_controller.rb

def create
    @photo = Photo.new(params[:photo])

ligne ci-dessus échoue, parce que tu n'as pas d' :attribut de fichier. Il doit être manipulés et supprimé manuellement à partir de :params. Une fois de plus - est-il réellement de l'utilisation de ces balises?

Hey, si vous avez la moindre idée de la façon d'obtenir le téléchargement de fichiers à l'aide de form_for tout en ayant d'autres champs et les étiquettes, merci de le partager ici. Même moi, je suis en train de faire ce travail.
Et ce serait bien si il n'est pas nécessaire d'utiliser n'importe quel bijou.
Qu'advient-il si vous essayez attr_accesible :name, :file et à votre avis <%= f.file_field :filename %>?

OriginalL'auteur M4ks | 2012-10-21