繁体   English   中英

处理多对多的导轨方式是什么?

[英]Whats the rails way of handling many-to-many?

好的,所以我有一个处理照片的照片模型和控制器。.我还有两个我希望能够由照片模型处理照片的餐厅和餐馆模型。 因此,我创建了照片模型,以作为对菜式或饭店数据库表的多态引用。 我应该使用饭店控制器来处理饭店照片的上传,还是使用菜品控制器来进行上传,还是应该使用饭店照片控制器来处理两者的上传?

使用多态类的唯一原因是它们的业务(或其他)逻辑非常相同,唯一的区别是它们的数据结构(也有相似的部分)。 因此,您应该使用带有单个控制器的或多态模型,或者带有单独控制器的单独类(模型)。

当然,您可以为多态模型使用单独的控制器,但是我认为这超出了最佳实践

通过这种方案,您可以将照片视为餐厅和菜肴记录的某种复杂属性。 因此,我可能会在处理餐厅和菜肴其他属性的地方上传照片。 在RESTful方案中,这将发生在restaurant_controller和dishs_controller中的new / edit操作中。 CarrierWave这样的好插件可以极大地帮助整个文件上传过程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM