如何将自己的字段类型添加到formtastic?
例如,我需要有一个自定义日期时间输入,我想要这样的东西:
<%= f.input :start_date , :as => :my_date %>
这显然不起作用,因为formtastic不知道:my_date(仅限:boolean,:string,:datetime等等)
但是如何添加其他输入类型?
答案 0 :(得分: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 %>
答案 1 :(得分:4)
不再继承Formtastic :: FormBuilder
以前建议在Formtastic 1.x中继承Formtastic :: FormBuilder 你自己的输入。在Formtastic 2中不再推荐这种方法,并且不会按预期工作。
https://github.com/justinfrench/formtastic
http://justinfrench.com/notebook/formtastic-2-preview-custom-inputs