HABTM删除/推送没有Object,只有id

时间:2011-05-21 00:30:13

标签: ruby-on-rails ruby has-and-belongs-to-many

我有一系列带有类别值的复选框,一个经典的项目><类别方案,与has_and_belongs_to_many相关联。

问题是我不想找到要追加或删除关联的对象,我只想使用ID,即整数。

我真的照顾我的数据库,我不想做不必要的查询。我知道ID存在,而Item存在,如果不存在,我不在乎。我只想以干净的方式执行删除。

NO!

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

YES!

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

或者,但是很脏

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

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你试过吗

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

这样你就得到了一个整数数组(ids),而不是一个包含这些对象的数组。