each_with_index дублированные записи - PullRequest
0 голосов
/ 11 сентября 2018

Прежде всего, извините, если мой английский не всегда очень хорош.

У меня проблема с each_with_index ... Когда я показываю проект, я отображаю предложения для этого проекта.Мне нужно сделать так, чтобы баннер отображался на третьей позиции предложений, поэтому для этого я использую each_with_index.

Проблема в том, что: если у меня есть шестнадцать предложений в проекте, у меня в шестнадцать раз больше списка предложений,и я не знаю почему.

Это мой код:

- @offers.each_with_index do |offer, index|
  - if !user_signed_in? && (@project.published? || @project.pending_attribution?)

    - if @offers.size >= 3 && index == 3
      = render 'offer_cta'

  - contact_bloc = user_contact_bloc(offer.user, viewer: current_user, display_contact_info: offer.display_contact_info?)
  .card.offer-card.mt-4[offer]{ class: offer_class(offer) }
    .card-header.d-flex.justify-content-between.align-items-center.border-bottom-0
      .offer-date
        %span.text-muted
          Offer filed on
          = l(offer.created_at, format: '%d/%m/%Y à %Hh%M')
        - if user_signed_in? && current_user.admin? && !offer.user.suspended_at.nil?
          ... exctera

Кроме того, если я попробую это в моей консоли, у меня не будет никаких проблем ...

У вас когда-нибудь возникала эта проблема?

Не стесняйтесь спрашивать меня, нужна ли вам дополнительная информация.

РЕДАКТИРОВАТЬ:

Это код моего рендера 'offer_cta', очень простой код:

.row
        .col-md-12
          .project-cta.p-5.mb-2.text-center
            %h5
              %strong
                blabla
            %p.text-muted blablabla
            %p.m-0
              = link_to "Send a quote", "", class: "btn btn-primary px-3", data: { toggle: 'modal', target: '#modal-sign' }, onclick: "ga('send', 'event', 'button', 'Clic', 'Sign up');", tabindex: -1

@ предлагает инициализацию:

@offers = @project.offers_accessible_by(current_ability, current_user)
@offers.mark_as_read_for(current_user)
@offers = @offers.includes(:offer_interactions, user: [:user_profile, :user_subscription, :user_contact])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...