3

Railsフォームヘルパーのデフォルト生成コードを変更するには?

コード...

<%= f.text_field :title, class: 'inputbox' %>

...生成...

<input id="post_title" name="post[title]" class="inputbox" type="text">

...しかし、クラス引数のない text_field がデフォルトで上記のコードを生成することを望みます。

Rails3.2を使用しています。

4

1 に答える 1

12

この動作を実現するには、既存のテキスト フィールド メソッドを上書きするか、必要な処理を行う新しいメソッドを追加する必要があります。ビルトイン Rails メソッドの既存の動作を変更しないため、後者をお勧めします。

別の答えに似ています:

class ActionView::Helpers::FormBuilder
  def inputbox_field(method, options = {})
    text_field(method, options.merge(class: 'inputbox'))
  end
end

次に、代わりにこれを使用するようにビューを変更します。

<%= f.inputbox_field :title %>
于 2013-01-28T01:35:55.790 に答える