ActiveAdmin - 不在db中保存has_many记录?

时间:2011-11-09 14:57:18

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 activeadmin

我有两个模型storecategory。商店可以有许多类别,应该存储在categories_stores表中。模型关系设置正确,我在商店表单上有以下内容:

f.input :categories, :as => :check_boxes

他们确实显示正确。但是创建或编辑商店不会在categories_stores表中创建/删除这些记录。

有什么想法吗?

更新:以上代码已经正确生成列表(请参阅下面的屏幕截图和HTML代码) - 唯一的问题是对此的更改未保存在DB!

enter image description here

<input id = "merchant_category_ids_" name="merchant[category_ids][]" type="hidden" value="" />
<ol>
    <li><input id="merchant_category_ids_1" name="merchant[category_ids][]" type="checkbox" value="6" /> Clothing</li>
    <li><input checked="checked" id="merchant_category_ids_2" name="merchant[category_ids][]" type="checkbox" value="5" /> Electronics</li>
</ol>

2 个答案:

答案 0 :(得分:0)

听起来您可能正在尝试设置子资源。如果是这种情况,您可以尝试以下方式:

<%= f.fields_for :categories do |f_categories| %>
    <%= f_categories.input ... %>
<% end %>

请查看fields_for doc了解详情。

答案 1 :(得分:0)

我知道这已经回答了,但你确定在相应的模型中定义了以下内容吗?

attr_accessible :categories_stores_attributes

accepts_nested_attributes_for :categories_stores