这是我目前在Vision模型中的内容:
has_one_attached :image
belongs_to :user
def featured_image_url
if self.image.attachment
self.image.attachment.service_url
end
end
end
在我的Vision控制器中:
def create
@vision = current_user&.visions.create(vision_params)
render :create, status: :created
end
def vision_params
params.permit(:description, :image)
end
和in _vision.json.jbuilder:
json.call(
vision,
:id,
:description,
:created_at,
:updated_at
)
json.image_url polymorphic_url(vision.image)
我正在使用Amazon S3进行图像存储。如何更改代码以上传多个图像文件?
另外请记住,我的数据库中有现有数据,我将为每个Vision获取一个图像的图像URL。如何在不影响现有数据库的情况下进行更改?
先谢谢你🙏🏼
1条答案
按热度按时间hm2xizp91#
你需要在你的模型中指定
has_many_attached
,你的控制器需要准备好接收一个图像数组。类似这样:参见文档:https://edgeguides.rubyonrails.org/active_storage_overview.html#has-many-attached