4
我正在使用Rails sanitize幫助程序清理用戶的輸入文本,該文本可能被格式化爲降價。爲什麼在電子郵件中刪除「tel:」鏈接以及如何允許他們
我注意到該方法去掉了tel:
鏈接,我不知道爲什麼,我該如何允許它們。
>> sanitize("<a href='http://123'>click</a>")
=> "<a href=\"http://123\">click</a>"
>> sanitize("<a href='tel:123'>click</a>")
=> "<a>click</a>"
當然,我試圖從上面鏈接的頁面找出它,但無法。我寧願避免寫一個「洗滌器」類或任何其他類來完成這個簡單的任務。
我也嘗試了我認爲的意思是「允許所有hrefs」,但它沒有任何影響(即使重新啓動服務器後)。
# In config/application.rb
config.action_view.sanitized_allowed_attributes = ['href']
我希望能有這麼好的答案,所以非常感謝。馬上嘗試。我認爲應該允許「tel:」鏈接默認是錯誤的嗎?我的意思是這有什麼害處? – DannyB
@DannyB yeah'tel:'我應該允許默認的鏈接。也許你可以在'rails-html-sanitizer' gem中打開這個問題,並詢問他們爲什麼'tel:'不在默認情況下列表中。 :) – varunvlalan
已打開[問題#52](https://github.com/rails/rails-html-sanitizer/issues/52) - 希望他們能夠實施。 – DannyB