Rails Active Storge 怎么限制每个对象关联的图片张数

jiandan217 · 2018年07月27日 · 最后由 Rei 回复于 2018年07月27日 · 827 次阅读

用 active storge 给一个商品对象保存图片,遇到了几个问题 1 怎么限制每个商品的图片张数,大于 1 小于 6 2 即使创建商品时校验出错,图片还是会保存,这个怎么处理 3 创建商品成功了,但是图片都保存了两边,这应该跟第二个问题是一样的,就是点击保存,图片会先保存一遍,然后关联实例对象又存了一遍

<%= form.file_field :images, multiple: true %>
def create
  @sku = Sku.new(sku_params)
  if @sku.save
    redirect_to @sku, notice: 'Sku was successfully created.'
  else
    render :new
  end
end
has_many_attached :images

可以自定义 validate 方法,来检测图片个数

目前 Rails 5.2.0 一 assign 就保存了,来不及执行校验。有个补丁要等下个版本 https://github.com/rails/rails/pull/33303

需要 登录 后方可回复, 如果你还没有账号请 注册新账号