我是 Rails 新手,我遇到了如何设置模型的问题。
- 我有一组模型:气球、油漆、刷子等。
- 它们具有共同的属性(如“名称”)
- 我希望他们有一个唯一的 id。那就是我希望如果有一个 id=NNN 的 Balloon 实例,那么Paint.find(NNN)和Brush.find(NNN)返回 nil。
一个明显的解决方案是创建一个模型,比如Item,它继承了 Balloon、Paint 和 Brush 。但是这种方法有点味道,因为子类 Balloon、Paint 和 Brush 确实有很大不同。我唯一需要他们的是id属性在这些子类中是唯一的。
我听说过 Rails 中的组合和委托,但我不熟悉它们,所以我不知道解决问题的合理方法是什么。