如何将我自己的字段类型添加到formtastic?Formtastic,自己的:作为输入类型
对于为例,我需要有一个自定义的日期时间投入,我想是这样的:
<%= f.input :start_date , :as => :my_date %>
这显然不起作用,因为formtastic不知道:my_date(仅适用于:布尔, :string,:datetime等等......)
但是我怎样才能添加额外的输入类型?
如何将我自己的字段类型添加到formtastic?Formtastic,自己的:作为输入类型
对于为例,我需要有一个自定义的日期时间投入,我想是这样的:
<%= f.input :start_date , :as => :my_date %>
这显然不起作用,因为formtastic不知道:my_date(仅适用于:布尔, :string,:datetime等等......)
但是我怎样才能添加额外的输入类型?
您需要添加自定义输入法:
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 %>
不要继承Formtastic :: FormBuilder了
它在Formtastic 1.x的子类Formtastic :: FormBuilder添加 自己输入先前建议。这在Formtastic 2中不再推荐,并且不会按预期工作。
https://github.com/justinfrench/formtastic
http://justinfrench.com/notebook/formtastic-2-preview-custom-inputs
完美的答案。我唯一的补充是,你需要为我们配置Formtastic MyCustomFormtasticFormBuilder而不是Formtastic :: SemanticFormBuilder,它可以在Formtastic提供的配置初始化程序中完成。 – 2010-04-29 00:50:25