Это не похоже на то, что я делаю Rails, но у меня есть этот метод (который я изменил из предложенного кода в другом месте).
def delete_picture
@i = params[:i].to_i
remain_images = @project.avatars # copy initial avatars
delete_image = remain_images.delete_at(@i) # delete the target image
delete_image.try(:remove!) # delete image
@project.avatars = remain_images # re-assign back
@project.save
end
На мой взгляд, когда я выводить изображения у меня есть (где я это положение изображения):
<%= link_to delete_picture_project_path(i: i), method: :delete, confirm: 'Delete?', dataType: 'script', 'data-message' => 'Are you sure?', 'data-severity' => 'danger', :remote => true do %>
<%= image_tag('delete') %>
<% end %>
И в маршрутах
resources :projects do
member do
delete 'delete_picture', to: "projects#delete_picture"
end
end
Это устраняет одно изображение, где вы имеют несколько изображений.
показать свой код как модель ассоциации –
@AniketShivamTiwari Спасибо за учитывая мой вопрос. Но я не сохраняю его в какой-то другой модели. Он хранится как json в одной модели. Я выполнил [это] (https://github.com/carrierwaveuploader/carrierwave#multiple-file-uploads) для загрузки нескольких изображений. – Vishal