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 回答