ActiveStorage S3文件上传未定义关键字content_type问题,可以通过以下方式解决:
amazon:
service: S3
access_key_id: YOUR_ACCESS_KEY
secret_access_key: YOUR_SECRET_ACCESS_KEY
region: YOUR_REGION
bucket: YOUR_BUCKET_NAME
class Post < ApplicationRecord
has_one_attached :image
end
然后在你的控制器中,你可以使用content_type选项指定上传文件的content_type。例如:
class PostsController < ApplicationController
def create
@post = Post.new(post_params)
@post.image.attach(io: params[:post][:image], filename: "image.jpg", content_type: "image/jpeg")
if @post.save
redirect_to @post
else
render 'new'
end
end
private
def post_params
params.require(:post).permit(:title, :content)
end
end
在上面的例子中,我们指定了content_type为"image/jpeg",你可以根据你的实际需求进行调整。
bundle update activestorage
命令更新。希望以上解决方法能帮助到你解决ActiveStorage S3文件上传未定义关键字content_type问题。