我在rails 4.1.1中有一个名为' item'
的模型项目有几个属性,例如' photo1',photo2等,它们是指向亚马逊s3文件的链接。
当我编辑项目时,我想在编辑项目视图中为每张照片设置删除按钮,该按钮会删除项目实例(我的数据库中的链接)和s3文件。
我以粗暴的方式工作,但我觉得我可能不会做出理想的事情。 (我正在学习ruby和rails)。
照片应该是s3照片文件的另一个型号吗?我在项目控制器中创建了一个delphoto方法,我将项目ID和照片选项传递给删除,但感觉不对。好像我应该有一张相关模型的照片表。如果它有帮助,我计划添加其他模型,如水果,汽车等,这些都将有照片。
另外,要删除的代码应该在控制器还是模型中?我猜模型,在这种情况下我会从项目控制器调用模型方法删除右边?
答案 0 :(得分:0)
是的,我肯定会成为一个新模特。拥有Item模型,然后创建另一个名为ItemPhoto的模型,其中:item_id
作为属性将这些行链接到其项目父项。然后将照片信息存储在那里。
我认为,一旦您不再使用与该项目相同的模型中的照片,您的删除代码问题就会消失。删除代码应该在控制器中。