2010-04-28 53 views
5

如何將我自己的字段類型添加到formtastic?Formtastic,自己的:作爲輸入類型

對於爲例,我需要有一個自定義的日期時間投入,我想是這樣的:

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

這顯然不起作用,因爲formtastic不知道:my_date(僅適用於:布爾, :string,:datetime等等......)

但是我怎樣才能添加額外的輸入類型?

回答

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 %> 
+2

完美的答案。我唯一的補充是,你需要爲我們配置Formtastic MyCustomFormtasticFormBuilder而不是Formtastic :: SemanticFormBuilder,它可以在Formtastic提供的配置初始化程序中完成。 – 2010-04-29 00:50:25