我想将这行代码转换为一个链接,该链接转到我的路由表中的destroy路由。按下此图片时,它将删除当前照片。
<%= image_tag @user.avatar.avatarpic %>
路线如下:
user_avatar DELETE /users/:user_id/avatars/:id(.:format) avatars#destroy
头像控制器如下:
class AvatarsController < ApplicationController
def create
@user = User.find(params[:user_id])
@avatar = Avatar.new(avatar_params)
@avatar.user = @user
@avatar.save
# Three lines above can be replaced with
# @user.create_avatar(params)
redirect_to user_path(@user)
end
private
def avatar_params
params.require(:avatar).permit(:avatarpic)
end
end
目前我有一个if / else语句,如果头像照片不可用,将显示默认图片:
<% if @user.avatar.present? %>
<%= image_tag @user.avatar.avatarpic %>
<% else %>
<%= image_tag 'user.png' %>
<a href="#" class="add-image" data-toggle="modal" data-
target="#avatarpic">
Add a Picture
</a>
<% end %>
我还想在鼠标悬停在当前头像照片上时显示一条消息。它将说明&#34;上传不同的图像&#34;的效果。按下后,应该有一个警告,询问用户&#34;您确定要删除此图像吗?&#34;。谢谢你的帮助。
答案 0 :(得分:0)
我不在我的电脑前,但这应该有效:
<%= link_to destroy_path, method: :delete, data: { confirm: 'Are you sure?' } do %>
<%= image_tag @user.avatar.avatarpic %>
<% end %>
请尽量让我知道。
答案 1 :(得分:0)
按照上面给出的路线,请尝试:
<%= link_to user_avatar_path, method: :delete, data: { confirm: 'Are you sure' } do %>
<%= image_tag @user.avatar.avatarpic %>
<% end %>