He encontrado que Paperclip puede validar el tipo de contenido del archivo, es decir, image/jpeg, pero quiero validar específicamente la extensión. Esto es porque estoy trabajando con una extensión oscura que no obtendrá un tipo de contenido consistente. Alguien sabe si esto es factible, o una buena manera de hacer esto?Validar la extensión en Paperclip - Ruby on Rails
9
A
Respuesta
16
Adivina, no hay necesidad de validarlo con el método del clip. Se puede utilizar en lugar algo así como:
has_attached_file :attachment
validates_format_of :attachment_file_name, :with => %r{\.(docx|doc|pdf)$}i
Editar:
Alternativamente, para validarlo con un clip:
validates_attachment_content_type :attachment, :content_type => 'text/plain'
^va a generar errores de desadaptación de tipo de contenido de forma automática.
Cuestiones relacionadas
- 1. Validar el número de elementos has_many en Ruby on Rails
- 2. Ruby on Rails: ¿cómo validar un modelo sin registro activo?
- 3. Ruby vs. Ruby on Rails
- 4. Ruby on Rails Switch
- 5. Ruby on Rails will_paginate
- 6. Docsplit Ruby on Rails
- 7. Ruby on Rails: descargable
- 8. Ruby on Rails enviar
- 9. Ruby on Rails en IIS?
- 10. Eliminar el signo de interrogación de los archivos generados por Paperclip en Ruby on Rails 3.2.6
- 11. Ruby on Rails: ¿Es mejor validar en el modelo o la base de datos?
- 12. Ruby on rails application root
- 13. Cómo dominar Ruby on Rails
- 14. Usos de Ruby on Rails
- 15. Ruby on Rails: formulario select
- 16. Busting Ruby on Rails Myths
- 17. Ruby on Rails redirect_to arguments
- 18. ¿Cómo funciona Ruby on Rails?
- 19. link_to con Ruby on Rails
- 20. Ruby on Rails versus Python
- 21. Ruby on rails connection problem
- 22. Ruby on Rails ActiveRecord: pluralization
- 23. Ruby on rails y Node.js
- 24. SSL con Ruby on Rails
- 25. ¿Vale la pena aprender Ruby on Rails
- 26. Ruby on Rails Debug Pregunta
- 27. Ruby on Rails vs Django
- 28. Ruby on Rails config.secret_token error
- 29. Django o Ruby on Rails
- 30. Ruby on Rails field average?
Gracias, esto funcionó. Seguimiento simple: ¿cómo se puede personalizar el mensaje de error? Esto no parece funcionar: validates_format_of: attachment_file_name,: with =>% r {\. (Txt) $} i,: message => "Solo se pueden cargar archivos .txt". – Geoff
¡Eso es raro! pero de todos modos revise la edición para la solución alternativa. –
La segunda alternativa aquí también probablemente aceptará archivos con otras terminaciones de archivo que tengan el tipo MIME "text/plain". Se puede encontrar una cantidad de tales terminaciones de archivos, p. en [http://reference.sitepoint.com/html/mime-types-full](http://reference.sitepoint.com/html/mime-types-full). – lossius