5

自分のフィールドタイプをformtasticに追加するにはどうすればよいですか?

たとえば、カスタムの日時入力が必要です。次のようなものが必要です。

<%= f.input :start_date , :as => :my_date %>

formtasticは:my_dateを認識しないため(:boolean、:string、:datetimeなどのみ)、これは明らかに機能しません。

しかし、どうすれば入力タイプを追加できますか?

4

2 に答える 2

9

カスタム入力メソッドを追加する必要があります:

class MyCustomFormtasticFormBuilder < Formtastic::SemanticFormBuilder
  protected
  def my_date_input(method, options)
    basic_input_helper(:text_field, :my_date, method, options)
  end
end

これは、新しい HTML5 入力タイプなどに最適です。次のように使用します。

<% form_form @model, :builder => MyCustomFormtasticFormBuilder  do |f| %>
   <%= f.input :start_date, :as => :my_date
<% end %>
于 2010-04-28T18:25:09.123 に答える
4

Formtastic::FormBuilder をサブクラス化しないでください

Formtastic 1.x では、Formtastic::FormBuilder をサブクラス化して独自の入力を追加することが以前に推奨されていました。これは Formtastic 2 では推奨されなくなり、期待どおりに動作しません。

https://github.com/justinfrench/formtastic

http://justinfrench.com/notebook/formtastic-2-preview-custom-inputs

于 2011-11-08T08:58:16.163 に答える