2011-02-13 86 views
3

我一直在使用Django大约一年,并认为我会尝试Ruby on Rails来了解它如何进行比较。在Django中,您可以创建一个ModelForm,根据模型中的字段类型自动生成一个html。有没有一个类在Rails中做类似的事情?我知道脚手架会为我的模型生成一个erb文件,但是有没有办法做到这一点?Ruby on Rails是否具有与Django的ModelForm等效的功能?

<%= auto_form_for @person %>

还是这个?

<%= form_for @person do |f| %>
<% for each @person.fields do | field| %>
<%= auto_field f, field %>
<%end%>
<% end %>

我为我的Ruby代码差道歉。

+0

https://github.com/justinfrench/formtastic – 2011-02-13 07:40:03

回答

2

我发现了一个叫做simple_form的gem,它和formtastic很相似。它允许你定义这样的表格:

<%= simple_form_for @user do |f| %> 
    <%= f.input :username %> 
    <%= f.input :password %> 
    <%= f.button :submit %> 
<% end %> 

我已经用它做了几个项目,它的结果很好。如果您正在使用该库,它也与Twitter引导程序集成。

2

Formtastic实现您正在寻找的Django小马魔术,以及其实际上可能有用的多数变体。在我看来,大多数最终用户应用程序没有找到“自动窗体”和脚手架非常有用(因为他们经常需要定制的细节),但是Formtastic可能会输出足够的语义HTML以便以某种方式进行设计适用于您的用户。

Rails还允许您编写自己的自定义表单构建器;你也可以扩展Formtastic提供的。

相关问题