私はカスタムフォームビルダーを持っています。スーパークラスメソッドをオーバーライドしたい場合を除いて動作します。カスタムFormBuilderスーパークラスはSafeBufferです。私は何が欠けていますか?
私は次の操作を実行した場合:
class MyFormBuilder < ActionView::Helpers::FormBuilder
def number_field(value, options = {})
super.number_field(value, options)
end
end
と私のフォーム上
'f.number_field(:value)'
を呼び出して、私は次のエラーを取得する:
undefined method `number_field' for #<ActiveSupport::SafeBuffer:0x007f9a44b762f0>
私は
raise "class: #{super.class}"
と呼ばれています番号フィールドの内部
と私が取得:
クラス:activesupportの:: SafeBuffer
だから、エラーが私のオーバーライドされたメソッドから発生されます。スーパークラスメソッドを呼び出さない他のメソッドは、フォームビルダーで正常に動作します。私が間違っていることは何か考えていますか?