category_locales, :as => :deal_locale %> "> category_locales, :as => :deal_locale %> "> category_locales, :as => :deal_locale %> " />

Ruby On Rails:Render Collection

部分テンプレートが呼び出されたときに最初の繰り返しで特定のイメージを表示したいが残りの部分は表示しない。

view file:

<% @categories.each do |category,i,category_locales| %>
    <div class="featured_deals">
        <%= render :partial => "medium_deal", :collection => category_locales, :as => :deal_locale %>
      </div>
<% end %>

medium_dealファイル:

<% deal = deal_locale.deal %>

<%= image_tag 'layout/featured_deal_left_blue.png', :style => 'float: left; padding-top: 11px;' %> 
# I only want this image to show for the FIRST element of category_locales, but not the rest.

<div class="featured_deal_wrapper">
        Hello     
</div> 

私は最初のビューファイルでカウンタを渡そうとしましたが、 "each"が再び通過するまでインクリメントされません。

0

1 答え

あなたはこれを行うことができるはずです:

<% if deal_locale_counter == 0 %>
  <%= image_tag 'layout/featured_deal_left_blue.png', :style => 'float: left; padding-top: 11px;' %> 
<% end %>

See: http://guides.rubyonrails.org/layouts_and_rendering.html#local-variables

0
追加された