HABTM удалить / нажать без объекта, только идентификатор - PullRequest
1 голос
/ 21 мая 2011

У меня есть серия флажков со значениями категорий, классический Предметы> <Сценарий категорий, связанный с <code>has_and_belongs_to_many.

Дело в том, что я НЕ хочу найти объект для добавления или удаления ассоциации, я хочу использовать только идентификатор, целое число.

Я действительно забочусь о своей базе данных и не хочу делать ненужные запросы. Я знаю, что идентификатор существует, а Предмет существует, и если его не существует, мне все равно. Я просто хочу выполнить удаление чистым способом.

НЕТ!

@item.categories << @category
@item.categories.delete @category

ДА!

@item.categories << id
@item.categories.delete id

или, но такой грязный

@category = Category.new
@category.id = id
@item.categories << @category
@item.categories.delete @category

Есть мысли, ребята?

1 Ответ

1 голос
/ 20 июля 2011

Вы пробовали

@item.category_ids << id
@item.category_ids.delete id

Таким образом, вы получаете массив целых чисел (идентификаторов), а не массив с объектами.

...