ActiveAdmin не сохраняет записи has_many в БД?

У меня две модели store и category. Магазин может иметь много категорий и должен храниться в таблице categories_stores. Отношения модели настроены правильно, и в форме магазина у меня есть следующее:

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

И они действительно отображаются правильно. Но создание или редактирование магазина не создает/удаляет эти записи в таблице categories_stores.

Любые идеи?

Обновление. Приведенный выше код уже правильно генерирует список (см. снимок экрана и HTML-код ниже). Единственная проблема заключается в том, что изменения в нем не сохраняются в БД!

введите здесь описание изображения

<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>

person Hopstream    schedule 09.11.2011    source источник


Ответы (2)


Похоже, вы пытаетесь установить подресурсы. Если это так, вы можете попробовать что-то вроде:

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

Подробнее см. в fields_for документе. Информация.

person Ahmish    schedule 09.11.2011
comment
Ну, я могу правильно сгенерировать список категорий (и те, которые существуют в таблице соединений для этой записи, действительно проверяются по умолчанию). Просто сохранение основной записи не обновляет и не изменяет соединительную таблицу. - person Hopstream; 10.11.2011

Я знаю, что на это уже дан ответ, но убедились ли вы, что в соответствующих моделях определено следующее?

attr_accessible :categories_stores_attributes

accepts_nested_attributes_for :categories_stores
person tpalmer    schedule 24.07.2013