Recibo este error cuando intento subir usando un clip con mi aplicación de blog de rails. No estoy seguro de a qué se refiere cuando dice "MissingRequiredValidatorError" Pensé que actualizando post_params y dándole: imagen estaría bien, ya que tanto crear como actualizar usan post_params
Paperclip::Errors::MissingRequiredValidatorError in PostsController#create
Paperclip::Errors::MissingRequiredValidatorError
Extracted source (around line #30):
def create
@post = Post.new(post_params)
Este es mi 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
y este es mi ayudante de publicaciones
module PostsHelper
def post_params
params.require(:post).permit(:title, :body, :tag_list, :image)
end
end
Avíseme si puedo complementar material adicional para ayudarlo a ayudarme.
validates_attachment :image, presence: true, content_type: { content_type: ["image/jpg", "image/jpeg", "image/png"] }
presence: true
la validación no es obligatoria, por lo que he excluido esa parte.do_not_validate_attachment_file_type
. Como dice Rdocs: gracias a un informe de Egor Homakov, hemos tomado medidas para evitar que las personas falsifiquen Tipos de contenido y obtengan datos que no esperaban en su servidor.Solo pon tu modelo:
https://github.com/thoughtbot/paperclip
fuente
Necesita agregar validates_attachment_content_type en Model
Carriles 3
Carriles 4
fuente
Asegúrese de que su modelo de publicación se vea así ...
fuente
Tampoco pude lograr que ninguna de estas soluciones funcionara. Intenté Paperclip 3.1, pero mi aplicación no pudo decirme que mis extensiones de archivo de imagen no estaban aprobadas, a pesar de que eran jpg.
Finalmente encontré el éxito con la versión 3.5.1.
fuente