2011-02-13 107 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提供的。

相關問題