Schienen, wie die überprüfung von Datei-format?
Wie bestätige ich meine Datei Felder für das richtige format?
Möchte ich das Feld Bild, um zu überprüfen, dass es ist .png -, .jpg -, .jpeg.
Und die flv-Datei, dass es das Ende ist .flv
Und die quicktime -, dass es nicht das Ende .mov
Und wie erstelle ich Fehlermeldungen sagen, dass das Feld ist nicht gültig.
Meine simple_form_for:
<%= f.input :name, :label => 'Navn', :required => true %><br />
<%= f.label :tekst %><br />
<%= f.text_area :text, :label => 'Text', :size => '12x12' %><br />
<%= f.label "Upload billede - kræves" %><br />
<%= f.input :image, :label => '', :required => true %><br />
<%= f.label "Upload flv - kræves" %><br />
<%= f.input :flv, :label => '', :required => true %><br />
<%= f.label "Upload Quicktime - kræves" %><br />
<%= f.input :quicktime, :label => '', :required => true %><br />
<%= f.button :submit, :value => 'Create movie' %>
Update:
Ich habe herauszufinden, wie Sie zu validieren .mov und .flv-Felder:
validates_format_of :flv,
:with => %r{\.flv$}i, :message => "file must be in .flv format"
validates_format_of :mov,
:with => %r{\.mov$}i, :message => "file must be in .mov format"
Ich gerade nicht, eine Lösung gefunden zu haben, um zu überprüfen das Bild.
Mein controller:
def savenew
@photographer = Photographer.new(params[:photographer])
@photographer.sort_order = Photographer.count + 1
if @photographer.save
redirect_to :action => 'list', :id => params[:id]
flash[:notice] = "Movie #{@photographer.name} is created"
else
render 'create', :id => params[:id]
end
end
- Ich weiß nicht, Schienen zu verlassen, da ich dies als Kommentar, aber dieser link von Interesse sein: groups.google.com/group/rubyonrails-talk/browse_thread/thread/...
- Auch würde ich vorschlagen, entfernen die Sachen über Datei-Erweiterungen. Die Validierung ein format sehr Verschieden von der Validierung eine Erweiterung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie fortfahren wollen als mit flv und mov, die man tun könnte:
aber bitte beachten Sie, dass dies nur überprüfen, dass der Dateiname zu Ende sein würde, in eine bestimmte Zeichenfolge. Diese müssen nicht überprüfen, ob die eigentliche Datei ist ein echtes PNG (oder welchem format auch immer). So jemand konnte immer noch laden Sie einfach ein zipfile mit der Erweiterung ".png".