很抱歉,如果有人问过这个问题并在某处完整回答。不确定我是否正在使用正确的Rails搜索此问题。
我想根据存储在数据库中的字段创建一个Rails表单。这是我的模型到目前为止的样子。
class Field < ActiveRecord::Base
belongs_to :form
end
class Form < ActiveRecord::Base
has_many :fields
end
截至目前,字段模型非常简单,类型为:string和required:boolean columns。 Name是我要创建的控件的名称(textbox,checkbox,radiobutton)。理想情况下,我想做这样的事情:
<%= form_for [something here] do |f| %>
<% @fields.each do |field| %>
<%= field.type %><br />
<% end %>
<% end %>
我正在努力寻找替换线的方法&lt;%= field.type%&gt;使用可正确呈现field.type的标记。
这可能吗?我最好在字段模型中使用有效负载列,将字段类型和值存储为json / xml?
答案 0 :(得分:6)
与@TuteC一样,如果要保存类型,可以使用.send方法动态调用每个字段:
<%= form_for [something here] do |f| %>
<% @fields.each do |field| %>
<%= f.send(field.type.to_sym, field.name) %><br />
<% end %>
<% end %>