2017-12-05 4 views
0

私は、このルートのコードを私のルートテーブルの破壊ルートに移動するリンクに変換したいと思います。この画像を押すと、現在の写真が削除されます。次のようにimage_tagを破壊ルートに移動するリンクに変換する

<%= 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 %> 

マウスが現在のアバター写真の上にマウスを乗せると、メッセージを表示することもできます。それは、「別の画像をアップロードする」という効果を発揮します。押されると、ユーザーに「この画像を削除しますか?」と尋ねる警告が表示されます。ご協力ありがとうございました。

答えて

0

、これを試してください。

<%= link_to user_avatar_path, method: :delete, data: { confirm: 'Are you sure' } do %> 
    <%= image_tag @user.avatar.avatarpic %> 
<% end %> 
+1

<%= link_to user_avatar_path(@user)、メソッド::delete、data:{確信していますか? '}%%> <%= image_tag @ user.avatar.avatarpic%> <% end %> 作品 – JJ1000000

+0

ありがとうございました。 – JJ1000000

0

私は私のPCの前にいないんだが、これは動作するはずです:

<%= link_to destroy_path, method: :delete, data: { confirm: 'Are you sure?' } do %> 
    <%= image_tag @user.avatar.avatarpic %> 
<% end %> 

試してみて、それがない場合は私に知らせてください。あなたは上記の与えるルート後

+0

は、データ 'に追加:{確認を: 'あなたはよろしいですか?' } ' – jemonsanto

+0

ありがとう@jemonsanto。データ確認を含めるための回答を編集しました。 – Aakanksha

+0

<%= link_to user_avatar_path(@user)、メソッド::削除、データ:{確信していますか?}%%><%= image_tag @ user.avatar.avatarpic%><% end %> あなたは基本的に正しいです。 – JJ1000000

関連する問題