如何將我自己的字段類型添加到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