Tôi đã gặp phải nhiều vấn đề khác nhau với các trang web khác nhau trong nhiều năm qua với người dùng đặt dấu cách ở đầu/cuối của chuỗi và trường văn bản. Đôi khi những nguyên nhân gây ra vấn đề về định dạng/bố cục, đôi khi chúng gây ra sự cố tìm kiếm (ví dụ: tìm kiếm tìm kiếm sai mặc dù nó không thực sự), đôi khi chúng thực sự làm hỏng ứng dụng.ActiveRecord: làm cho tất cả các trường văn bản có dải gọi trên chúng trước khi lưu, trừ khi được chỉ định khác
Tôi nghĩ rằng nó sẽ hữu ích, thay vì đặt trong một loạt các callbacks before_save như tôi đã làm trong quá khứ, để thêm một số chức năng để ActiveRecord tự động gọi .strip trên bất kỳ chuỗi/trường văn bản trước khi lưu, trừ khi tôi nói với nó không, ví dụ với do_not_strip :field_x, :field_y
hoặc một cái gì đó tương tự ở phía trên cùng của định nghĩa lớp.
Trước khi tôi đi và tìm ra cách để làm điều này, có ai nhìn thấy một giải pháp đẹp hơn? Chỉ cần rõ ràng, tôi đã biết rằng tôi có thể làm điều này:
before_save :strip_text_fields
def strip_text_fields
self.field_x.strip!
self.field_y.strip!
end
nhưng tôi đang tìm kiếm một cách đẹp hơn.
cổ vũ, tối đa
Cảm ơn rất nhiều @Wukerplank, tôi đã kết hợp điều đó và dường như thực hiện công việc :) Tôi đoán nó tốt hơn từ quan điểm ít ngạc nhiên nhất để liệt kê rõ ràng các trường văn bản tôi muốn xóa trong các mô hình, chứ không phải hơn là liệt kê những cái tôi không muốn tách ra như tôi đã có ban đầu. Btw, liên kết cài đặt trên trang plugin của bạn không hoạt động: tôi nghĩ bạn chỉ cần thay "https" bằng "git" ngay từ đầu. Ngoài ra còn có một đặt còn lại trong đó, có lẽ là để gỡ lỗi? chúc mừng! max –
Vâng, tôi cũng nghĩ rằng khai báo rõ ràng các trường sẽ tạo ra một mô hình dễ đọc hơn. Và cảm ơn cho các gợi ý, tôi sẽ làm sạch nó :) – Wukerplank
nơi bạn đã thêm các vũ nữ thoát y chuỗi? Tôi đặt nó trong lib/modules và nó không tải –