ruby-on-rails – 使用partials,如何以干燥的方式呈现`striped`
发布时间:2020-12-17 01:47:01 所属栏目:百科 来源:网络整理
导读:所以我有一些看起来像这样的视图代码: div class="box-content" table class="table table-properties" tbody %= render :partial = 'property',collection: @search.listings,as: :listing % /tbody /table /div 在_property.html.erb中,我有这个: tr td
所以我有一些看起来像这样的视图代码:
<div class="box-content"> <table class="table table-properties"> <tbody> <%= render :partial => 'property',collection: @search.listings,as: :listing %> </tbody> </table> </div> 在_property.html.erb中,我有这个: <tr> <td class="span2"> <%= link_to listing_path(listing),:class => "thumbnail thumb2" do %> <%= image_tag "room_1.jpg",:alt => "Lucas" %> <% end %> </td> <td> <h2><%= link_to listing.headline,listing_path(listing) %></h2> <h5><%= listing.listing_type.name if listing.listing_type "#{listing.neighborhood.name.capitalize}" %></h5> <h5>Maintenance <%= number_to_currency(listing.maintenance) %></h5> </td> <td class="span1"> <h2 class="price"><%= number_to_currency(listing.price)%></h2> <h5><%= "#{listing.num_bedrooms} bed,#{listing.num_bathrooms} bath" %></h5> </td> </tr> 基本上,我想准确地生成上面的代码,对于每一行,唯一的区别是我希望每第2行(即所有偶数行)都具有class = striped..i.e. < tr class = striped>. 关于如何以干燥的方式做到这一点的想法? 解决方法
你尝试过使用cycle和current_cycle吗?
http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-cycle <tr class="<%= cycle('odd','even') -%>"> <!-- etc --> </tr> 这会使您的班级与奇数和偶数交替,恕我直言也应该在渲染集合时起作用.如果你需要多次实际循环的值,你可以用current_cycle得到它(因为多次调用循环会扰乱你的循环,除非你想要那样). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容