是否有一種簡單的方法可以實現這一點 - 創建顯示兩段文本之間變化的標記文本。內置的幫手也許?看着卻找不到!在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