2

次のようにRailsのフォーム選択ヘルパーをオーバーライドしようとしています:

def select(method, choices, options = {}, html_options = {})
  html_options.reverse_merge!(:disabled => true)
  super(method, choices, options = {}, html_options = {})
end

目標は、disableすべてのタグを選択することです。

残念ながら、まったく機能していません。選択ボックスはまったく無効にならず、エラーもスローされません。メソッドがフォームで適切に呼び出されることは既に確認済みであるため、それが問題になることはありません。

ここで何が欠けているのか誰か教えてもらえますか?

ご指摘ありがとうございます。

4

1 に答える 1

1

スーパーに送信すると、オプションオプションがリセットされます。

def select(method, choices, options = {}, html_options = {})
  html_options.reverse_merge!(:disabled => true)

  # Don't do this!  By doing this you're *always* sending empty objects for
  # options and html_options to super.
  #super(method, choices, options = {}, html_options = {})

  # Do this!
  super(method, choices, options, html_options)
end
于 2012-11-11T20:10:31.510 に答える