Rails - 如何在数据库中存储“has_many”复选框关联?

use*_*621 5 ruby checkbox ruby-on-rails associations has-many

我有表User和表Categories

这两个表的关系:

  • 用户 has_many :categories
  • 类别 belongs_to :user

我想在用户的(标准)编辑页面上显示带有复选框的类别列表。当该用户选中某些复选框时,我想保存它们,然后在他下次打开页面时显示为选中状态。

但是如何在视图中呈现复选框?以及如何存储有关用户在数据库中选中的复选框的信息?我的第一个想法是想创建一个像表user_categoriesuser_idcategory_id,但不知道这种方法的效果如何。

现在执行此任务的最佳方法是什么?

Mat*_*att 1

您可能希望使用而不是让类别属于用户来实现多对多关系has_many :through(意味着一个类别只能有一个用户,这是您想要的吗?

阅读has_many :through来帮助您入门。完成此操作后,可以使用collection_check_boxes帮助器轻松实现复选框。