【发布时间】:2011-07-16 03:51:31
【问题描述】:
我想为 Ruby on Rails 3 创建一个自定义表单元素并将其打包为 gem。我来自 PHP(Zend 框架)背景,可以轻松创建自定义表单元素以在您的应用程序中使用。作为 Ruby on Rails 的新手,我不知道如何开始、将代码放在哪里以及要扩展哪些类。你能指出我正确的方向吗?这是我想要结束的代码:
<%= 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>
..那么当用户提交表单时,会有一些自定义验证,以及自定义逻辑将字段再次拼接成一个字段,然后Rails将数据保存到数据库中。
如何创建此自定义表单元素来执行此操作? (顺便说一下,我一直称它为“自定义表单元素”,因为这就是 Zend Framework 中的名称。如果 Rails 对此有不同的名称,请纠正我,以便我可以更轻松地查找有关此主题的信息.)
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 rubygems