カスタム フォーム タグ/フィールド タイプをデフォルトの Rails フォーム ビルダーに追加する方法を探しています。カスタム フォーム ビルダーを定義せずにこれを行う方法を探しています( Rails ガイド.
# form
= form_for @event do |f|
= f.label :start_date
= f.my_date_select :start_date
# custom my_date_select form tag method
# this doesn't work yet!
class ActionView::Helpers::FormBuilder
def my_date_select(*args)
date_select(*args)
end
end
このカスタム フォーム タグの背後にある理由は、日付選択 jquery プラグインを操作するために特定の方法で形成されたフォーム全体のマークアップを DRY したいからです。
# repeated across a few forms right now
= form_for @event do |f|
.field
= f.label :date
.input-group
span class='input-group-addon' = icon_tag(:calendar)
= f.text_field :date, value: @event.date
ヒント、解決策、記事をありがとう!