【发布时间】:2012-05-15 06:51:53
【问题描述】:
很抱歉,如果有人在某处提出并完整回答了这个问题。不确定我是否使用正确的 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 的标记。
这可能吗?在将字段类型和值存储为 json/xml 的字段模型中使用有效负载列会更好吗?
【问题讨论】:
-
type:string 是否将其存储为 Rails 方法帮助程序(如 radio_button)?在这种情况下,您可以使用
f.send(field.type, field.name)。如果没有,只需将您的类型值映射到 Rails 助手,然后发送正确的方法。 -
目前我没有使用辅助方法保存。我是这个概念的新手,但这听起来正是我想做的! f.send() 会进入标签吗?例如,。谢谢。
-
@TuteC 提到的应该有效
-
你问这么好的问题也很棒:)
标签: ruby-on-rails ruby