我为公司模型上传了一张图片,但它只适用于1张图片。 现在我想要照片模型处理两个不同的图像。
我的公司型号:
class Virksomhed < ActiveRecord::Base
has_one :photo, :dependent => :destroy
end
我的照片模特:
require 'open-uri'
class Photo < ActiveRecord::Base
belongs_to :virksomhed
attr_accessor :image_url
has_attached_file :image,
:styles => { :small => "150x150>" },
:url => "/images/:style/:id/:basename.:extension",
:path => ":rails_root/public/images/:style/:id/:basename.:extension"
before_validation :download_remote_image, :if => :image_url_provided?
private
def image_url_provided?
!self.image_url.blank?
end
def download_remote_image
self.image = do_download_remote_image
self.image_remote_url = image_url
end
def do_download_remote_image
io = open(URI.parse(image_url))
def io.original_filename; base_uri.path.split('/').last; end
io.original_filename.blank? ? nil : io
rescue # catch url errors with validations instead of exceptions (Errno::ENOENT, OpenURI::HTTPError, etc...)
end
end
我该怎么办?
或更改关联,以便公司有很多照片。然后我就不知道应该如何跟踪2个不同的图像以及路由应该如何。
答案 0 :(得分:0)
class Virksomhed < ActiveRecord::Base
has_one :photo1, :class_name => "Photo", :dependent => :destroy
has_one :photo2, :class_name => "Photo", :dependent => :destroy
end
您可以使用更具描述性的名称代替photo1和photo2,具体取决于它们的用途。我只是用photo1和photo2作为例子。