Tôi có một mô hình Dự án và nó có một số thuộc tính văn bản, một là tóm tắt. Tôi có một số dự án có thẻ html trong bản tóm tắt và tôi muốn chuyển đổi nó thành văn bản thuần túy. Tôi có phương pháp này có một regex sẽ loại bỏ tất cả các thẻ html.Xóa tất cả các thẻ html khỏi các thuộc tính trong đường ray
def strip_html_comments_on_data
self.attributes.each{|key,value| value.to_s.gsub!(/(<[^>]+>| |\r|\n)/,"")}
end
Tôi cũng có một bộ lọc before_save
before_save :strip_html_comments_on_data
Vấn đề là các thẻ html vẫn còn ở đó sau khi tiết kiệm dự án. Tôi đang thiếu gì?
Và, có cách nào thực sự dễ dàng để có phương pháp đó được gọi trong tất cả các mô hình không?
Cảm ơn,
Nicolás Hock Isaza
Tôi không phải là một người sử dụng ruby, nhưng có vẻ không phải là bất kỳ chuyển nhượng xảy ra ở đó. Bạn đang tính toán một chuỗi với những thứ bị loại bỏ, nhưng không tiết kiệm được ở bất cứ đâu. – Yuliy
@Yuliy ruby có các chuỗi có thể thay đổi được! (gsub! là dạng biến dạng của gsub - ick!) !!! (cho biện pháp tốt) !!! (và +1 để làm cho tôi nhìn vào nó khó khăn hơn) –