10

これがどこかで完全に尋ねられて答えられたならば、すみません。正しいRailsで検索しているかどうかはわかりませんが、この質問について話します。

データベースに保存されているフィールドに基づいてRailsフォームを作成したいと思います。これが私のモデルのこれまでの様子です。

class Field < ActiveRecord::Base
  belongs_to :form
end

class Form < ActiveRecord::Base
  has_many :fields
end

現在のところ、フィールドモデルはtype:string列とrequired:boolean列を使用した非常に単純です。名前は、作成するコントロールの名前です(テキストボックス、チェックボックス、ラジオボタン)。理想的には、次のようなことをしたいと思います。

<%= form_for [something here] do |f| %>
  <% @fields.each do |field| %>
    <%= field.type %><br />
  <% end %>
<% end %>

行<%= field.type%>を、field.typeを正しくレンダリングするタグに置き換える方法を見つけるのに苦労しています。

これは可能ですか?フィールドタイプと値をjson/xmlとして格納するフィールドモデルでペイロード列を使用する方がよいでしょうか?

4

1 に答える 1

8

前述の@TuteCのように、タイプを保存している場合は、.sendメソッドを使用して各フィールドを動的に呼び出すことができます。

<%= form_for [something here] do |f| %>
  <% @fields.each do |field| %>
    <%= f.send(field.type.to_sym, field.name) %><br />
  <% end %>
<% end %>
于 2012-05-06T14:05:59.377 に答える