【问题标题】:How to save multiple (paperclip ) images into a rails model attribute?如何将多个(回形针)图像保存到 rails 模型属性中?
【发布时间】:2014-12-17 09:46:57
【问题描述】:

我正在尝试使用 Froala 之类的所见即所得编辑器将图像上传到我的服务器。问题是我需要将多个图像存储到模型的一个属性中。这是因为当我的用户上传图片时,我不会提前知道要存储多少张图片。

如果有人能给我一些指点,那就太好了。或者例子。

【问题讨论】:

  • 感谢回复,我知道了!

标签: ruby-on-rails ruby-on-rails-4 activerecord paperclip froala


【解决方案1】:

查看http://guides.rubyonrails.org/association_basics.html 并搜索has_many。您需要一个额外的模型来存储图像并具有指向另一个模型的other_model_id 属性。

如果您从未使用过 has_many,您可以在 http://www.xyzpub.com/en/ruby-on-rails/4.0/activerecord_has_many.html 找到示例应用程序

【讨论】:

    【解决方案2】:

    如果您必须保存与模型相关的多个图像,则需要 1 - N 关系。 所以你有两个选择:

    1. 创建一个像专辑这样的模型并建立一对一的关系
    2. 使用 has_many (1-N) 关系。

    要了解有关关联的更多信息,我强烈建议您阅读official guide

    【讨论】:

    • 如果我创建一个像用户相册这样的模型(1-1 关系),我使用什么数据类型来保存一个相册的所有图像?
    【解决方案3】:
    class User < ActiveRecord::Base
      has_many :images
      accepts_nested_attributes_for :images
    end
    
    class Image < ActiveRecord::Base
      belongs_to :user
      #use paper clip for the following method
      has_attached_file :attachment
    end
    

    现在使用您的所见即所得编辑器上传图像,并将nested images form 附加到用户表单,提交表单,您就可以开始了。希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-10
      相关资源
      最近更新 更多