我希望在用户可以点击它的位置添加一个按钮,并将事件添加到他们的事件列表中。然后,他们添加到列表中的事件将填充在另一个视图中。
我想知道实现这个的最佳方法是什么。
我考虑在我的表中使用序列化文本列,只是将事件的id推送到数组。这是实现这一目标的最佳方式吗?我还有在阵列上运行的功能吗?
答案 0 :(得分:0)
您正在寻找的是协会,特别是has_and_belongs_to_many协会。
http://guides.rubyonrails.org/association_basics.html
我记得当我开始时与你完全相同的想法 - 使用模型中的一列作为存储其他模型的所有ID的存储桶。虽然这在技术上可以使用序列化,但它并不理想,因为搜索序列化列非常低效。 PostgreSQL具有hstore数据类型,可以大大加快搜索速度,但它仍然不理想。
Rails中的关联可以直接进入框架,学习如何使用它们对于您作为rails开发人员的未来成功至关重要。该指南将比我更好地解释它。如果你遇到困难,我首先要在游乐场应用程序中的用户和事件之间做一个简单的has_many和belongs_to关系。然后在生产应用中实现has_and_belongs_to_many。