2016-09-19 2 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 %> 

После того, как я получить эту работу, я удалить строку <%= link_to 'Post', activity.activable %>, потому что вся <li> будет ссылка при нажатии.


Я также пробовал это на главной странице моей деятельности.

<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 из ссылки для блокировки. Вы можете, однако, сделать по щелчку огонь обработчика событий путем присвоения идентификатора и с использованием атрибутов данных для хранения в пункт назначения

<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') });