Прежде всего, извините, если мой английский не всегда очень хорош.
У меня проблема с 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])