each_with_index重复记录

时间:2018-09-11 13:22:42

标签: ruby ruby-on-rails-3

首先,请问我的英语水平不是一直很好。

我的each_with_index问题...显示项目时,我会显示该项目的报价。我必须在要约的第三位置显示横幅,因此我使用each_with_index。

问题是:如果我在一个项目上有16个要约,那么我的要约是全部要约的16倍,我不知道为什么。

这是我的代码:

- @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])

0 个答案:

没有答案