是否有一种简单的方法可以实现这一点 - 创建显示两段文本之间变化的标记文本。内置的帮手也许?看着却找不到!在Rails中显示两个文本主体之间的差异
13
A
回答
6
你可以使用类似jsdifflib(http://snowtide.com/jsdifflib)这样的完全客户端的JavaScript。
5
http://github.com/pvande/differ 你可以使用它,它执行字符串的diff。您必须构建一些逻辑来将其格式化为输出就绪状态。可能在助手中使用Builder :: XmlMarkup。
还有: http://github.com/myobie/htmldiff
这似乎输出标记 - 但它没有很好的记录。
就内建的帮手而言,我不认为Rails内置任何东西。 有http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/Hash/Diff.html - 但与第一个插件不同,它用于散列而不是字符串。
2
对于今天有人在寻找答案:https://github.com/samg/diffy是最安全的选择。正如这里提到的其他宝石和图书馆自一段时间以来已被抛弃。
0
有两种方式:
1.works也非英文字符串
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. 从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. 使用minGW差异显示两个文本文件的差异
- 2. 如何显示两个文件之间的合并差异?
- 3. 直观显示两个文件之间差异的方法?
- 4. 显示两个文件之间的行差异
- 5. 文章版本之间的Rails wiki突出显示/删除线版本差异
- 6. 显示错误结果的两个日期之间的差异
- 7. 两个突出显示值之间的差异
- 8. 区分和突出显示两个字段之间的差异
- 9. SQL显示两个表之间的差异
- 10. 导轨 - 两个哈希之间的显示差异
- 11. Period中两个ZonedDateTime之间的差异
- 12. 在两个日期之间的差异
- 13. 两个文本文件之间的百分比差异
- 14. 两个文本html文件之间的差异
- 15. 为什么差异显示这两个文件存在差异?
- 16. 在rails3中创建一个显示两个记录之间差异的数组?
- 17. 找到两个XML之间的差异差异在marklogic中的文件
- 18. jQuery的差异获得两个物体之间,物体
- 19. 显示两个时间字段之间的平均差异为MM中的SQL:SQL
- 20. 两次之间的差异
- 21. TSV之间的差异显示由
- 22. 在unix中复制两个文件之间的差异
- 23. 两个月之间的月份差异
- 24. 找到两个值之间的差异?
- 25. Grails - 两个日期之间的差异
- 26. VB - 两个日期之间的差异
- 27. 两个f.select选项之间的差异
- 28. 两个日期之间的差异
- 29. Javascript - 两个日期之间的差异
- 30. SQL - 两个查询之间的差异
是,diffy听起来前途 – Saim 2015-12-03 17:04:44