0

fehlgeschlagen Ich habe zwei ModelleWarum muss ich Bild wieder aus, nach Validierung

class ComfortFactorSubCategory < ApplicationRecord 
    has_one :image, as: :imageable, dependent: :destroy 
    validates :heading, presence: true 
    accepts_nested_attributes_for :image, :reject_if => lambda { |a| a[:name].blank? }, allow_destroy: true 
end 

class Image < ApplicationRecord 
    belongs_to :imageable, polymorphic: true 
    mount_uploader :name, IconUploader 
end 

und mein admin/comfort_factor_sub_category.rb Ich habe diese Zeilen

ActiveAdmin.register ComfortFactorSubCategory do 
    permit_params do 
    permitted = [:heading, image_attributes: [:name, :_destroy, :id], additional_instruction_ids: []] 
    permitted 
    end 
    form do |f| 
    f.inputs do 
     f.input :heading 
     f.input :additional_instructions, as: :select, collection: AdditionalInstruction.pluck(:description, :id) 
     f.fields_for :image do |b| 
     b.input :name, label: "Image", :as => :file 
     end 
    end 
    f.actions 
    end 
end 

wenn ich das Formular mit falschen Informationen einreichen sagen wir, ohne Überschrift und Validierung scheitern, warum muss ich das Bild erneut auswählen, während ich in der ersten Einreichung ausgewählt

Antwort

0

Dies wird vom Browser aus Sicherheitsgründen eingeschränkt. Dadurch wird vermieden, dass das Formular mit dem Wert des Standarddateiobjekts ausgefüllt wird, wenn die Fehlerseite gerendert wird. Dies ist ein detailed excerpt darüber.

Dies wird jedoch normalerweise nicht von Browsern unterstützt. Die übliche Erklärung ist "Sicherheitsgründe." Und tatsächlich wäre es ein Sicherheit Risiko, wenn Dateien von der Benutzerdiskette ohne den Inhalt des Benutzers eingereicht wurden. Es ist vielleicht zu einfach, einige Benutzer dazu zu verleiten, einige Passwortdateien zu senden!

Ich fand auch diese another answer über das gleiche Problem mit ASP.net-Framework zu sprechen.

Verwandte Themen