ruby-on-rails - Rails Active Storage 删除附件
问题描述
我目前正在从事一个小型铁路项目。我有一个使用devise
gem 创建的用户模型。允许用户在上面添加多张照片,devise/registrations/edit
为此我用来active_storage
存储图像。此外,这些图像必须能够被删除。如何添加删除按钮来一张一张地删除这些图像?
设计/注册/edit.html.erb:
<div class="row">
<div class="col-6">
<%= f.label :photos_of_you %>
</div>
<div class="col-6">
<%= f.file_field :images, multiple: true %>
</div>
</div>
<div class="row">
<div class="col-12">
<% if resource.images.attached? %>
<div class="d-inline-block image-gallery">
<% (0...resource.images.count).each do |i| %>
<%= image_tag (resource.images[i]) %>
<% end %>
</div>
<% end %>
</div>
</div>
在application_controller.rb 上:
class ApplicationController < ActionController::Base
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:full_name, :gender])
devise_parameter_sanitizer.permit(:account_update, keys: [:full_name, :gender, :avatar, images: [] ])
end
end
在模型user.rb上:
class User < ApplicationRecord
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable
has_one_attached :avatar, dependent: :destroy
has_many_attached :images, dependent: :destroy
end
解决方案
推荐阅读
- reactjs - react-navigation 用反应上下文包装根 AppContainer
- javascript - 为什么我得到未定义的变量?
- c# - 提交表单后 ASP.net MVC ViewModel 属性为空
- javascript - 如何使用javascript动态获取选中复选框的值
- c# - X509Certificate2UI.SelectFromCollection 正在关闭应用程序
- angular - Angular 7 类继承和 httpClient
- svn - Ansible SVN 结帐中的“无法在路径中找到所需的可执行 svn”错误
- html - 为什么 href="/../subpage/doc.html" 有效?
- r - 仅在满足条件时才起作用的默认参数
- google-cloud-platform - GCloud Storage:如何授予在控制台中查看存储桶的权限,但只能查看单个存储桶中的文件?