¿Existe una forma fácil de hacerlo? Cree un texto marcado que muestre los cambios entre dos fragmentos de texto. ¿Un ayudante incorporado tal vez? ¡Miró pero no pudo encontrar!Mostrando una diferencia entre dos cuerpos de texto en Rails
Respuesta
Puede hacerlo completamente en el lado del cliente en javascript utilizando algo como jsdifflib (http://snowtide.com/jsdifflib).
http://github.com/pvande/differ Puede usar eso, que realiza diff en las cadenas. Tendría que construir alguna lógica para formatearla en un estado listo para la salida. Probablemente usando Builder :: XmlMarkup en un helper.
Hay también: http://github.com/myobie/htmldiff
que parece marcado de salida - pero no es muy bien documentado.
En cuanto a un ayudante incorporado, no creo que Rails tenga nada incorporado. Hay http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/Hash/Diff.html - pero a diferencia del primer complemento, esto se usa en hashes, no en cadenas.
Para cualquiera que busque una respuesta hoy: https://github.com/samg/diffy es la apuesta más segura. Como las otras gemas y bibliotecas mencionadas aquí han sido abandonadas desde hace algún tiempo.
Hay dos maneras:
1.works también para cadena no Inglés
class String
def -(other)
s1 = self.mb_chars.downcase.chars
s2 = other.mb_chars.downcase.chars
s1.size >= s2.size ? s1 - s2 : s2 - s1
end
end
> 'abcde' - 'abc'
=> ["d", "e"]
> 'abc' - 'ac'
=> ["b"]
2. de http://tobyho.com/2011/03/26/string-difference-in-ruby/
class String
def -(other)
self.index(other) == 0 ? self[other.size..self.size] : nil
end
end
> 'abcde' - 'abc'
=> "de"
but
> 'abc' - 'ac'
=> nil
- 1. diferencia porcentual entre dos archivos de texto
- 2. Mostrando diferencia entre dos valores de fecha y hora en horas
- 3. bash, Linux: establecer la diferencia entre dos archivos de texto
- 4. 'Diferencia' entre dos cuaterniones
- 5. Diferencia entre dos mapas
- 6. Bash - Diferencia entre dos listas
- 7. Ruby, Rails y la diferencia entre dos fechas
- 8. diferencia entre dos matrices
- 9. Diferencia entre dos NSDates
- 10. Diferencia entre has_one y belongs_to en Rails?
- 11. Diferencia entre dos DateTimes C#?
- 12. C# - ¿Diferencia entre dos fechas?
- 13. diferencia entre dos SYSTEMTIME variable
- 14. Diferencia entre dos fechas en Python
- 15. Una mejor manera de encontrar una diferencia entre dos matrices
- 16. ¿Ángulo entre dos vectores 2d, diferencia entre dos métodos?
- 17. Diferencia entre fechas en dos filas consecutivas
- 18. Diferencia entre jquery-rails y jquery-ujs
- 19. Diferencia entre val() y texto()
- 20. Diferencia, en minutos, entre dos fechas
- 21. Android diferencia entre dos fechas en segundos
- 22. Diferencia en horas entre dos NSDate
- 23. Diferencia entre dos fechas en MySQL
- 24. ¿Alguna diferencia entre estos dos en C++?
- 25. ¿Cuáles son algunos buenos métodos para encontrar la "relación" de dos cuerpos de texto?
- 26. Mostrando texto en Google Maps
- 27. diferencia absoluta mínima entre dos números en una matriz
- 28. Rails 3: Diferencia entre Relation.count y Relation.all.count
- 29. Diferencia entre texto() y cadena()
- 30. mostrando texto seleccionable WPF
Sí, suena prometedor Diffy – Saim