我想爲Ruby on Rails 3創建一個自定義表單元素,並將其打包爲一個gem。我來自PHP(Zend Framework)背景,可以很容易地創建自定義表單元素以在您的應用程序中使用。作爲Ruby on Rails的新手,我不知道如何開始,在哪裏放置我的代碼,以及擴展哪些類。你能指點我正確的方向嗎?這是我想落得代碼:Ruby on Rails 3:如何創建一個自定義的表單元素/表單域輸入法?
<%= form_for(@model) do |f| %>
<div class="field">
<%= f.label :field_name %><br />
<%= f.my_custom_element :field_name %>
</div>
<% end %>
...這會產生一些HTML這樣的:
<div class="field">
<label for="model_field_name">Notes</label><br>
<input type="text" name="model[field_name][field1]">
<input type="text" name="model[field_name][field2]">
<input type="text" name="model[field_name][field3]">
</div>
當用戶提交表單..then,會有一些自定義驗證和自定義邏輯,在Rails將數據保存到數據庫之前將這些字段再次拼接到一個字段中。
如何創建此自定義窗體元素來執行此操作? (順便說一句,我一直稱它爲「自定義表單元素」,因爲這就是Zend Framework中所稱的。如果Rails有不同的名稱,請糾正我,以便我可以更輕鬆地查找有關此主題的信息)
其實之後,這是我在做什麼。我甚至安裝了Rails 3.1,所以我可以得到新的插件生成器(rails插件新)。但是,我不知道下一步該怎麼做,因爲我從未創建過自定義表單元素。 – Andrew