2011-10-30 4 views
0

私は、フォームフィールドがデータベースから抽出されたレールフォームを作成しました。私はこれが好きでした。異なる製品のために、異なるフォームフィールドがあるからです。私はそれを行うために1つの大きな注文フォームを作っていた可能性があります、そして、製品フィールドが製品に適用されなかった場合、それは空白になりますが、データベースから呼び出されるフィールドをより意味をなさせるように思えました。注文ごとに。とにかく、行がfield_typeを抽出しているときに実行中のエラーがあれば、それはレールに入れるのではなくリテラルの値を出力します。データベースを使用したレールフォーム

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

f.text_fieldを印刷する代わりに、実際にテキストフィールドを作成したいと思います。私はrawを使ってみましたが、htmlのものとして見ていません。これをレールで行う方法はありますか?

答えて

0

文字列とsendからfに、f.send(field.field_type)(未テスト)のような特定のフォームフィールドタイプに必要な引数を組み込む必要があります。

+0

私は情報を送信するつもりはありません。imはデータベースからinfroを検索します。データベースの情報が "text_field"と書かれている場合は、フォームにテキストフィールドを表示したいとします。 – Thomas

+0

@Thomasそしてそれはあなたがやる方法です:メソッド名/シンボルを 'f'オブジェクトに送る必要があります。 –

+0

ありがとうございます。必要なものを達成するために1つの大きなモデルを使用するか、多くのテーブルを使用する方が理にかなっていると思いますか? – Thomas

関連する問題