Büroklammer + RSpec: Validierung des Inhaltstyps

ich benutzePaperclip in meiner Rails-Anwendung zum Anhängenimages. Ich habe die Validierung für erklärtcontent_type in meinem Modell als

 validates_attachment :image,
  :content_type => { :content_type => ["image/jpg", "image/gif", "image/png"] }

Ich habe zwei Beispiele, eines mit einem gültigen Bild und eines mit einem ungültigen Bild
Für ein ungültiges Bild habe ich gerade a umbenannt.txt Datei zu einem.png

 it "Image is valid" do
    image = File.new("#{Rails.root}/spec/support/right.png")
    expect(FactoryGirl.build(:pin, image: image)).to be_valid
 end
 it "Image is invalid" do
   image = File.new("#{Rails.root}/spec/support/wrong.png")
   expect(FactoryGirl.build(:pin, image: image)).to have(1).errors_on(:image_content_type)
 end

Ich habe erwartet, dass meine beiden Beispiele erfolgreich ausgeführt werden. ABER mein zweites Beispiel schlägt fehl. Ich erhalte keinen Fehler für content_type vonwrong.png.

Ich dachte, die Büroklammercontent_type Bei der Validierung wird das Dateiformat (Binärdatencodierung) einer hochgeladenen Datei überprüft. ABER es scheint, dass hier nur nach der Dateierweiterung gesucht wird. Prüft diese Überprüfung nur die Erweiterung einer hochgeladenen Datei?

Mir fehlt hier vielleicht etwas (Konfiguration?). Gibt es eine andere Validierung in Paperclip, um dies zu erreichen? Oder sollte ich mich in diesem Fall für einen benutzerdefinierten Validator entscheiden?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage