Render_activity в раскрывающемся меню Bootstrap не работает должным образом

Так что я делаю это в выпадающем меню Bootstrap частично в моем основном макете:

      <% @unread_act.each do |notification| %>
        <li>
    <%= render_activity notification %>
        </li>
      <% end %>

@unread_act объявлен в моем application_controller.rb вот так:

  @unread_act = Notification.where(recipient_id: current_user).includes(:trackable => [:user, :node]).order("created_at desc")      

Тогда по моему views/public_activity/comment/_create.html.erb, У меня есть это:

добавил комментарий к которому с тех пор был удален

Проблема в том, что в выпадающем меню не отображается эта информация. Он буквально отображает то, что будет эквивалентно:

activity.trackable.node.name

Не знаю, где он получает эту информацию, но это то, что он делает.

Любые идеи о том, как я могу настроить это выпадающее меню для моих нужд?

Кроме того, я не знаю, почему выпадающий список проходит notification в render_activity, но драгоценный камень все еще хочет activity.trackable, Я старался notification.trackable но это не сработало.

2 ответа

Решение

Это мое выпадающее меню, основанное на Bootstrap:

<div class="notifications bootstrap-styles">
    <div class="dropdown">
    <a data-toggle="dropdown" class="dropdown-toggle" href="#"><%= @unread_act.size %></a>
        <ul class="dropdown-menu dropdown-menu-right" role="menu" aria-labelledby="dLabel">
          <% @unread_act.each do |notification| %>
            <li>
                            <%= render_activity notification %>
                        </li>
          <% end %>

         <li><%= link_to "Mark all as read", mark_all_read_activities_path, method: :put %></li>
      </ul>
    </div>
</div>

Происходило то, что это выпадающее меню будет отображать только ссылки.

Так что это только элементы внутри link_to тег, который отображается в меню.

Вы правы, сэр. Согласно документам, используется только для отображения ссылок. Что делать, если вы измените render_activity помощник, чтобы включить ссылку? Нечто подобное может работать для вас:

def render_activity(notification)
  link_to notification, nil
end
Другие вопросы по тегам