Tôi đang viết một mô hình xử lý đầu vào của người dùng từ một vùng văn bản. Theo lời khuyên từ http://blog.caboo.se/articles/2008/8/25/sanifying-your-users-html-input , tôi đang dọn dẹp đầu vào trong mô hình trước khi lưu vào cơ sở dữ liệu, sử dụng before_validate gọi lại.
Các phần liên quan của mô hình của tôi trông như thế này:
include ActionView::Helpers::SanitizeHelper
class Post < ActiveRecord::Base {
before_validation :clean_input
...
protected
def clean_input
self.input = sanitize(self.input, :tags => %w(b i u))
end
end
Không cần phải nói, điều này không hoạt động. Tôi gặp lỗi sau khi thử và lưu một Bài đăng mới.
undefined method `white_list_sanitizer' for #<Class:0xdeadbeef>
Rõ ràng, SanizingHelper tạo ra một phiên bản HTML :: WhiteListSanitizer, nhưng khi tôi trộn nó vào mô hình của mình, nó không thể tìm thấy HTML :: WhiteListSanitizer. Tại sao? Tôi có thể làm gì về điều này để sửa chữa nó?