2011-10-30 88 views
0

我有一個rails形式的iive,其中的表單字段是從數據庫中提取的。我是這樣做的,因爲對於不同的產品,有不同的表單域。如果產品領域不適用於產品,它會留下空白,但它似乎使得從數據庫調用的字段變得更有意義,因爲有30-40個字段每個訂單。無論如何,即時通訊運行時,即時通訊提取行field_type錯誤,它打印出來的文字值,而不是把它放在軌道上。繼承人它看起來像:使用數據庫的導軌形式

<% @form_field.each do |field| %> 
    <p> 
     <%= "f.#{field.field_type}" %> #this prints out f.text_field 
    </p> 
    <% end %> 

而不是打印出f.text_field,我希望它實際上使文本字段。我嘗試使用原始的,但沒有看到作爲HTML的。有沒有辦法做到這一點在鐵軌?

回答

0

你需要建立字符串和send它到f,如f.send(field.field_type)(未經測試)以及該特定表單字段類型所需的任何參數。

+0

但我不想發送信息,即時通訊從數據庫中檢索infro。如果數據庫中的信息顯示爲「text_field」,那麼我希望表單顯示一個文本字段 – Thomas

+0

@Thomas這就是你要做的事情:你需要將方法名/符號發送給'f'對象。 –

+0

好的謝謝。你認爲使用一個大型模型來實現我所需要的或使用許多表格更有意義嗎? – Thomas