我喜欢直接从表单继承定义 mongoid 对象的类型 (:_type)。
定义和对象的类型非常简单:
shapes.build({ x: 0, y: 0 }, Circle)
但是现在我想知道是否可以通过使用表单中的参数来自动构建这样的对象。像这样的东西:
<%= form_for :shapes do |s| %>
<%= s.text_field(:x) %>
<%= s.text_field(:y) %>
<%= t.hidden_field(:_type, value: "Circle") %>
<% end %>
然后使用类似的东西:
Shapes.new(params[:shapes])
在隐藏字段中定义 _type 值似乎是不可能的。有任何想法吗?