Saya mendapatkan kesalahan ini ketika saya mencoba mengunggah menggunakan penjepit kertas dengan aplikasi blogging rails saya. Tidak yakin apa yang dimaksud ketika mengatakan "MissingRequiredValidatorError" Saya berpikir bahwa dengan memperbarui post_params dan memberikannya: gambar itu akan baik-baik saja, karena keduanya membuat dan memperbarui menggunakan post_params
Paperclip::Errors::MissingRequiredValidatorError in PostsController#create
Paperclip::Errors::MissingRequiredValidatorError
Extracted source (around line #30):
def create
@post = Post.new(post_params)
Ini adalah posts_controller.rb saya
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
dan ini adalah pembantu posting saya
module PostsHelper
def post_params
params.require(:post).permit(:title, :body, :tag_list, :image)
end
end
Harap beri tahu saya jika saya dapat menambah bahan tambahan untuk membantu Anda membantu saya.
validates_attachment :image, presence: true, content_type: { content_type: ["image/jpg", "image/jpeg", "image/png"] }
presence: true
validasi tidak wajib jadi saya telah mengecualikan bagian itu.do_not_validate_attachment_file_type
. Seperti yang dikatakan Rdocs: Terima kasih atas laporan dari Egor Homakov, kami telah mengambil langkah-langkah untuk mencegah orang-orang dari memalsukan Tipe-Konten dan mendapatkan data yang tidak Anda harapkan ke server Anda.Masukkan saja model Anda:
https://github.com/thoughtbot/paperclip
sumber
Perlu menambahkan validates_attachment_content_type dalam Model
Rel 3
Rel 4
sumber
Pastikan model posting Anda terlihat seperti ini ...
sumber
Saya juga tidak bisa mendapatkan solusi ini untuk bekerja. Saya mencoba Paperclip 3.1, tetapi kemudian aplikasi saya tetap memberi tahu saya bahwa ekstensi file gambar saya tidak disetujui, meskipun itu jpg.
Saya akhirnya menemukan kesuksesan dengan versi 3.5.1.
sumber