我在rails中有一个资源Image
。模型中有固定数量的图像对象(本例中为3)。用户不会上传更多图片"而是#34;设置/更新当前图片之一"在模型中。因此,当上传图片时,必须删除图片以将图片放入。
def create
image = Image.find(image_params["index"])
image.destroy
end
上传图片时,用户必须指定他们想要的图片"设置"。该位置的图像将被删除。现在我需要在表格中的特定行上传新图像。这是可能的,如果是这样,我将如何实现这一点?
我也非常愿意就更好的方法提出建议。整个过程对我来说似乎不合适。
答案 0 :(得分:0)
有几种方法可以做到这一点。我假设你是rails的新手,所以让我们保持简单:
1 - 向您的用户迁移/数据库添加3个图像ID:
add_column :users, :image_1_id, :integer
add_column :users, :image_2_id, :integer
add_column :users, :image_3_id, :integer
2 - 确保您的用户具有3个图像关系
class User
belongs_to :image_1, class_name: "Image"
belongs_to :image_2, class_name: "Image"
belongs_to :image_3, class_name: "Image"
end
3 - 在您的视图中查看它们,并在控制器中更新它们。如果它们存在,则无需删除它们,只需更新它们即可。