Я использую rais api для внутреннего интерфейса и реагирую на внешний интерфейс.
Я использую активное хранилище rails для обработки изображений.
В моем приложении rails у меня есть модальные имена Post
.
class Post < ApplicationRecord
has_many_attached :pictures
def picture_url
if self.pictures.attached?
self.pictures.map do |picture|
Rails.application.routes.url_helpers.rails_blob_path(picture,
only_path: true)
end
else
nil
end
end
end
Таким образом, согласно вышеприведенному * у post
может быть много изображений.
Теперь я столкнулся с проблемой при обновлении фотографий поста.
case 1: Предположим, яесть пост, скажем, 'p1', у p1 теперь 3 изображения.Теперь, если я хотел бы удалить одно изображение из p1 и добавить новое изображение вместо удаленного изображения.Как я справлюсь с этим в моем контроллере.
case 2: Я хочу сохранить только одно изображение из 3 изображений.Это означает, что я хочу удалить конкретные 2 изображения.
Мое update
действие posts_controller.rb
выглядит следующим образом:
def update
post = Post.find(params[:id])
if post.update_attributes(message: params[:message], picture:
params[:picture])
render_success(:ok, post, meta: { message: 'Post updated' })
else
render_error(422, post.errors, message: 'Failed to update post')
end
end