Một phần câu hỏi là: bạn đặt mã nice_editor ở đâu? Tôi không nghĩ rằng đó là một ý tưởng tốt để chỉnh sửa trực tiếp lớp ActionView :: Helpers :: FormBuilder trong quá trình cài đặt của bạn. Thay vào đó, hãy đặt mã của bạn vào một trong các tệp trong ứng dụng/người trợ giúp. Có một số cách để thêm các phương thức mở rộng vào FormBuilder.
Ví dụ, giả sử bạn có một tập tin items_helper.rb helper:
module ItemsHelper
# this is one way to define new instance methods
ActionView::Helpers::FormBuilder.class_eval do
def nice_editor(conf,*opts)
...
end
end
end
Ngoài ra, xem good discussion này, trong đó cho thấy làm thế nào để sử dụng self.included() để mở rộng FormBuilder.
Nguồn
2012-12-02 03:22:25
Bạn có thể cung cấp thêm một số chi tiết cụ thể không? Bạn có muốn có thể làm một cái gì đó như "f.nice_editor: foo" trong một "form_for @foo do | f |" khối? – Eli
Vâng, đó là những gì đang diễn ra. – Arcath