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

jiandan217 · July 27, 2018 · Last by Rei replied at July 27, 2018 · 823 hits

用 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

You need to Sign in before reply, if you don't have an account, please Sign up first.