2016-09-19 9 views
0

私はユーザー通知のリストを作成しています。現在のユーザーが通知コンテンツ全体を含む<li>タグをクリックすると、その投稿やユーザーなどにリダイレクトする必要があります。link_to単一の文字列ではなく複数のタグ

ここは私が今すぐ試しているもので、動作させるように見えません。

<%= link_to activity.activable do %> 
    <span><%= link_to(image_tag(activity.actor.avatar.url(:thumb)), user_path(activity.actor.username)) %></span> 
    <span class="us-rt-sg"> 
    <%= link_to activity.actor.name, user_path(activity.actor.username), class: "us-rt-usnm" %> 
    <%= activity.action %> on 
    <%= link_to personalize_owner(activity, recepient), user_path(activity.activable.user.username) %> 
    <%= link_to 'Post', activity.activable %> 
    <br> 
    <span class="us-rt-sg-date"><%= time_ago_in_words(activity.created_at) %></span> 
    </span> 
<% end %> 

私は仕事にこれを取得するとクリックしたときに全体<li>がリンクになりますので、私は、ライン<%= link_to 'Post', activity.activable %>を削除します。


私の活動のメインビューページでもこれを試しました。

<li class="activity"> 
    <%= link_to activity.activable do %> 
    <%= render "activities/#{activity.action}", activity: activity, recepient: recepient %> 
    <% end %> 
</li> 

誰かが私が何をする必要があるか私を見ることができますか?今まで私が行ったすべての行事はうまくいきませんでした。

+0

ひょっとして - あなたが何を観察しているのかを説明することができたら*代わりに起こっていることを期待しているもの(現時点では、「それだけではうまくいかない」というバリエーションがあり、問題の原因を絞り込むことはできません)。また、 - あなたは、あなたが好きなものを好きなもののプレーンhtmlモックアップを作ろうとしましたか?私の最初の推測(上記の情報なし)はあなたがリンクの中にリンクを持っていることです、そして、HTMLはそれをうまくやっていないかもしれません。 –

答えて

1

ラッピングlink_toと内部リンクはあなたに頭痛を与えます。要素で最も重要なことを決める必要があります。

クリック可能で指定されたアクティビティへのリンクが必要な場合は、内部リンクを削除し、コンテンツ全体をアクティビティにリンクするだけです。アクティビティに達すると、ラッピングリンクを心配することなく、作成者、所有者などへのリンクを含めることができます。

0

W3C標準に準拠したアンカーリンクをネストしようとしているようです。ブロック内のリンクからlink_toタグを使用することはできません。ただし、Clickイベントハンドラを起動するには、IDを割り当て、データ属性を使用して保存先を指定します。

<li class="clickable" data-destination="<%=activity.activable%>" 
    <%= link_to activity.actor.name, user_path(activity.actor.username), class: "us-rt-usnm" %> 
    xxxxxx 
</li> 

#JQuery example 
$('.clickable").on('click', function() {window.location.href = $(this).attr('data-destination') }); 
関連する問題