如何在 Rails 上的 Ruby 中使用回形针使模型具有无限图像?
How to make a model has unlimited images with paperclip in Ruby on Rails?
我有一个有头像的用户模型。回形针用于上传图片。但是,我希望用户能够上传尽可能多的图像(无限制)。如何修改我的模型以允许此类行为?
用户模型如下所示:
class Model < ApplicationRecord
has_attached_file :pic, styles: { medium: "420×633!", thumb: "100x100#" }, default_url: "/images/:style/missing.png"
validates_attachment_content_type :pic, content_type: /\Aimage\/.*\z/
has_many :reviews, dependent: :destroy
提前致谢!
您可以在单独的模型中为用户存储 photos
(如果您这样称呼)并在 User
模型中添加关联:
命令行
rails g paperclip photo pic
app/models/user.rb
has_many :photos, dependent: :destroy
app/models/photo.rb
belongs_to :user
has_attached_file :pic, styles: { medium: "420×633!", thumb: "100x100#" }, default_url: "/images/:style/missing.png"
validates_attachment_content_type :pic, content_type: /\Aimage\/.*\z/
根据给定的规范,您可以生成另一个模型来保存 user_images,这样用户就可以拥有无限的图像。
user.rb
class User < ApplicationRecord
has_many :user_images, dependent: :destroy
accepts_nested_attributes :user_images
validates_attachment_content_type :pic, content_type: /\Aimage\/.*\z/
has_many :reviews, dependent: :destroy
end
user_image.rb
Class UserImage < ApplicationRecord
belongs_to :user
has_attached_file :user_image, styles: { medium: "420×633!", thumb: "100x100#" }, default_url: "/images/:style/missing.png"
end
在 user_model 中添加了 accepts_nested_attributes 并在 user_image 中添加了用于上传图像的回形针设置。
我有一个有头像的用户模型。回形针用于上传图片。但是,我希望用户能够上传尽可能多的图像(无限制)。如何修改我的模型以允许此类行为? 用户模型如下所示:
class Model < ApplicationRecord
has_attached_file :pic, styles: { medium: "420×633!", thumb: "100x100#" }, default_url: "/images/:style/missing.png"
validates_attachment_content_type :pic, content_type: /\Aimage\/.*\z/
has_many :reviews, dependent: :destroy
提前致谢!
您可以在单独的模型中为用户存储 photos
(如果您这样称呼)并在 User
模型中添加关联:
命令行
rails g paperclip photo pic
app/models/user.rb
has_many :photos, dependent: :destroy
app/models/photo.rb
belongs_to :user
has_attached_file :pic, styles: { medium: "420×633!", thumb: "100x100#" }, default_url: "/images/:style/missing.png"
validates_attachment_content_type :pic, content_type: /\Aimage\/.*\z/
根据给定的规范,您可以生成另一个模型来保存 user_images,这样用户就可以拥有无限的图像。
user.rb
class User < ApplicationRecord
has_many :user_images, dependent: :destroy
accepts_nested_attributes :user_images
validates_attachment_content_type :pic, content_type: /\Aimage\/.*\z/
has_many :reviews, dependent: :destroy
end
user_image.rb
Class UserImage < ApplicationRecord
belongs_to :user
has_attached_file :user_image, styles: { medium: "420×633!", thumb: "100x100#" }, default_url: "/images/:style/missing.png"
end
在 user_model 中添加了 accepts_nested_attributes 并在 user_image 中添加了用于上传图像的回形针设置。