我已经使用Django大约一年了,并且我认为我会尝试Ruby on Rails来看看它是如何比较的。在Django中,您可以创建一个ModelForm,根据模型中的字段类型自动生成html。是否有类在Rails中执行类似的操作?我知道脚手架会为我的模型生成一个erb文件,但有没有办法做到这一点?
<%= auto_form_for @person %>
还是这个?
<%= form_for @person do |f| %>
<% for each @person.fields do | field| %>
<%= auto_field f, field %>
<%end%>
<% end %>
我为我糟糕的红宝石代码道歉。
答案 0 :(得分:2)
Formtastic实现了你正在寻找的Django小马魔法,以及其中可能实际有用的大多数变种。在我看来,大多数最终用户应用程序找不到“自动表单”和脚手架非常有用(因为它们经常需要进行详细定制),但Formtastic可能会输出足够的语义HTML,以便您以某种方式进行样式化这适用于您的用户。
Rails还允许您编写自己的自定义表单构建器;你也可以扩展Formtastic提供的那些。
答案 1 :(得分:2)
我找到了一个名为simple_form的宝石,它类似于formtastic。它允许您定义这样的表单:
<%= simple_form_for @user do |f| %>
<%= f.input :username %>
<%= f.input :password %>
<%= f.button :submit %>
<% end %>
我已经将它用于一些项目,而且效果很好。如果您使用该库,它还与twitter bootstrap集成。