【发布时间】:2020-05-31 18:42:26
【问题描述】:
我正在尝试在使用 Rails 的ActiveStorage 上传图片之前调整其大小。以下控制器操作就像一个魅力:
class CatsController < ApplicationController
require 'mini_magick'
def create
@cat = current_user.cats.new(cat_params)
params[:cat][:images].each do |image|
mini_image = MiniMagick::Image.new(image.tempfile.path)
mini_image.resize '1200x1200'
end
if @cat.save
...
end
end
end
但我想让我的控制器保持精简并将这个功能移到模型中。但是当我这样做时,Rails 在模型中找不到tempfile。
模型中根本就没有办法访问tempfile吗?
感谢您的帮助。
【问题讨论】:
-
你可以发布你的模型方法,那是试图移动吗?
-
我花了几个小时寻找一种在上传时调整图像大小的方法。这个解决方案终于救了我。它无需任何修改即可工作(Rails 6)。
标签: ruby-on-rails temporary-files rails-activestorage minimagick