如何在一定索引处将对象插入rails模型?

时间:2014-09-21 23:53:29

标签: ruby-on-rails ruby model

我在rails中有一个资源Image。模型中有固定数量的图像对象(本例中为3)。用户不会上传更多图片"而是#34;设置/更新当前图片之一"在模型中。因此,当上传图片时,必须删除图片以将图片放入。

def create 
    image = Image.find(image_params["index"])
    image.destroy

end

上传图片时,用户必须指定他们想要的图片"设置"。该位置的图像将被删除。现在我需要在表格中的特定行上传新图像。这是可能的,如果是这样,我将如何实现这一点?

我也非常愿意就更好的方法提出建议。整个过程对我来说似乎不合适。

1 个答案:

答案 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 - 在您的视图中查看它们,并在控制器中更新它们。如果它们存在,则无需删除它们,只需更新它们即可。