无法使用附件 gem 上传种子数据“对象的未定义方法 `photos_urls='”

Posted

技术标签:

【中文标题】无法使用附件 gem 上传种子数据“对象的未定义方法 `photos_urls=\'”【英文标题】:Unable to upload seed data with Attachinary gem "Undefined method `photos_urls=' for object"无法使用附件 gem 上传种子数据“对象的未定义方法 `photos_urls='” 【发布时间】:2018-04-04 18:35:39 【问题描述】:

我正在尝试为我的 Photoshoot 模型上传种子数据,该模型由多个 for url 组成,如下所示:

10.times 
  urls = [
    'http://lorempixel.com/400/400/',
    'http://lorempixel.com/400/400/',
    'http://lorempixel.com/400/400/',
    'http://lorempixel.com/400/400/',
    'http://lorempixel.com/400/400/',
    'http://lorempixel.com/400/400/',
    'http://lorempixel.com/400/400/',
    'http://lorempixel.com/400/400/'
  ]
  time = Faker::Time.between(DateTime.now - 1, DateTime.now + 3)
  photoshoot = Photoshoot.new( user_id: Faker::Number.between(1, 19), photograph_id: Faker::Number.between(1, 19), start_time: time, end_time: time + Faker::Number.between(1, 2).hours, message: Faker::TheFreshPrinceOfBelAir.quote )
  photoshoot.save!
  photoshoot.photo_urls = urls

但我在种子中收到以下错误消息:

NoMethodError:

的未定义方法 `photos_urls='

我的模型如下:

class Photoshoot < ApplicationRecord
  has_attachment :photos, maximum: 20
  belongs_to :photograph
  belongs_to :user
end

【问题讨论】:

【参考方案1】:

添加附件路径

has_attached_file :photo,
:styles => 
:thumb=> "",
:small  => "",
:path => "uploads/:class/:attachment/:id_partition/:style/:basename.:extension",
:url => "uploads/:class/:attachment/:id/:style/:basename.:extension"

【讨论】:

以上是关于无法使用附件 gem 上传种子数据“对象的未定义方法 `photos_urls='”的主要内容,如果未能解决你的问题,请参考以下文章

Ruby gem,用于通过信息哈希检索种子的详细信息/信息

发帖流程!

使用 ruby​​ 邮件 gem 获取电子邮件正文而不获取附件

如何解决控件附件上传时超大附件无法上传的问题

如何解决控件附件上传时超大附件无法上传的问题

S3 存储附件和图片无法上传