Ich stieß auf Datei-Upload-Problem in Rails. Ich fand file_field :file
Helfer, der mit form_for(@some_model)
verwendet werden kann. Ich kann jedoch keine Verwendung für diesen Fall finden, da diese Tags verwendet werden, um ein Modell durch Massenzuweisung zu erstellen/bearbeiten. Es gibt, AFAIK, keine Möglichkeit, Fileupload als typisches Feld zu behandeln (siehe File upload won't work in Ruby on Rails 3 using Multipart Form). In diesem Fall ist eine manuelle Operation für die hochgeladene Datei erforderlich. Also, warum sollte jemand sogar ein Dateiupload als Teil der Modellbearbeitung hinzufügen?Ruby On Rails: Beispiel für Datei_Feld auf Formular_für
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])
Linie über fehlschlägt, weil Theres keine: Attributdatei. Es muss zuvor behandelt und manuell von :params
entfernt werden. Noch einmal - gibt es eine echte Verwendung für solche Tags?
Hey, wenn Sie habe eine Idee, wie Datei-Upload mit form_for erreicht werden kann, während andere Felder und Labels haben, bitte teilen Sie es hier. Auch ich versuche, das zu funktionieren. – learner
Und es wäre nett, wenn es keinen Grund gibt, irgendeinen Edelstein zu benutzen. – learner
Was passiert, wenn Sie 'attr_accesible: name,: file' und in Ihrer Ansicht' <% = f.file_field: filename%> 'versuchen? – mmichael