用于embeds_one文档的mongoid和嵌套表单

时间:2012-02-22 09:38:48

标签: mongoid nested-attributes

我正在尝试遵循有关由mongoid管理的嵌套属性的建议。

我有一个embeds_one Structure的设计模型,我正在尝试使用以下格式更新它:

<%= form_for @design do |f| %>
  <%= f.fields_for :structure do |s| %>
    <%= s.text_field :navigation %>
  <% end %>
  <%= default_submit %>
<% end %>

我的控制器中的更新方法如下:

def update
  # @design loaded by CANCAN
  flash[:notice] = t('flash.updated') if @design.update_attributes(params[:design])
  respond_with @design
end

如果我没有在Design模型中指定accepts_nested_attributes_for:structure,那么表单既没有正确初始化(使用导航字段值)也没有更新。

但是,如果我遵循mongoid建议(此处描述http://mongoid.org/docs/relations/nested_attributes.html),嵌入式文档(在这种情况下为结构)不应该这样做。这不是一个大问题,但设计模型在没有此accepted_nested_attributes_for声明的情况下看起来就像DRYer。

0 个答案:

没有答案