我有一个测试应用程序,我正在尝试设置练习,该应用程序有用户,他们可以在注册时选择最多6个兴趣类别。
所以,用户可以有很多兴趣类别,这会有很多“次”兴趣...我对如何设置它有点困惑,所以当用户注册时,他们可以选择6通过用户注册表单上的复选框进行兴趣类别。
我应该使用多态关联,还是应该使用用户模型和interest_category
模型创建感兴趣的interest_category
模型,如下所示:
has_many :interest_categories, :through => :interests ?
另外,如何让表单保存这些interest_categories
?我试过了f.fields_for :interest_categories
,但他们没有保存。
有什么想法吗?
答案 0 :(得分:0)
我会使用has_many :categories, :through => :categorizables
。然后,您可以将名为:category_type
的字符串字段添加到Categorizable模型,并为此案例输入“interest”,为其他案例输入另一个字符串。
通过这种方式,您可以拥有许多与关系类型无关的关系。
然后,您可以按User.categorizables.where(:category_type => "interest")
查询或设置范围。
您也可以考虑观看此Railscast:http://railscasts.com/episodes/17-habtm-checkboxes
它有点过时,但很可能有助于设置表单。有很多方法可以解决这个问题,但这就是我的方法。