Ich erhalte diesen Fehler, wenn ich versuche, mit meiner Rails-Blogging-App eine Büroklammer hochzuladen. Ich bin mir nicht sicher, worauf es sich bezieht, wenn "MissingRequiredValidatorError" steht. Ich dachte, dass es in Ordnung wäre, post_params zu aktualisieren und es zu geben: image, da sowohl create als auch update post_params verwenden
Paperclip::Errors::MissingRequiredValidatorError in PostsController#create
Paperclip::Errors::MissingRequiredValidatorError
Extracted source (around line #30):
def create
@post = Post.new(post_params)
Dies ist meine posts_controller.rb
def update
@post = Post.find(params[:id])
if @post.update(post_params)
redirect_to action: :show, id: @post.id
else
render 'edit'
end
end
def new
@post = Post.new
end
def create
@post = Post.new(post_params)
if @post.save
redirect_to action: :show, id: @post.id
else
render 'new'
end
end
#...
private
def post_params
params.require(:post).permit(:title, :text, :image)
end
und das ist mein Beitragshelfer
module PostsHelper
def post_params
params.require(:post).permit(:title, :body, :tag_list, :image)
end
end
Bitte lassen Sie mich wissen, ob ich zusätzliches Material ergänzen kann, damit Sie mir helfen können.
validates_attachment :image, presence: true, content_type: { content_type: ["image/jpg", "image/jpeg", "image/png"] }
presence: true
Die Validierung ist nicht obligatorisch, daher habe ich diesen Teil ausgeschlossen.do_not_validate_attachment_file_type
. Wie Rdocs es ausdrückt: Dank eines Berichts von Egor Homakov haben wir Schritte unternommen, um zu verhindern, dass Personen Inhaltstypen fälschen und Daten, die Sie nicht erwartet hatten, auf Ihren Server übertragen.Geben Sie einfach Ihr Modell ein:
https://github.com/thoughtbot/paperclip
quelle
Sie müssen validates_attachment_content_type in Model hinzufügen
Schienen 3
Schienen 4
quelle
Stellen Sie sicher, dass Ihr Postmodell so aussieht ...
quelle
Ich konnte auch keine dieser Lösungen zum Laufen bringen. Ich habe Paperclip 3.1 ausprobiert, konnte mir aber nicht sagen, dass meine App-Dateierweiterungen nicht genehmigt wurden, obwohl sie jpg waren.
Ich habe endlich Erfolg mit Version 3.5.1 gefunden.
quelle