2013-01-17 3 views
2

Рельсы могут оказать частичную коллекцию со счетчиком:Частичные коллекции счетчик псевдонима

= render partial: 'item', collection: @items 

внутри _ item.html, рельсы обеспечивает счетчик итераций для items. (here)

= item_counter 

Как сделать псевдоним для item_counter например, partial_counter? Или что-нибудь, что сделает его более сухим? Это довольно неэффективное письмо item_counter, product_counter, category_counter, user_counter, .... ТНХ

ответ

4
= render partial: 'item', collection: @items, as: 'item' 

ОБНОВЛЕНО: Алиас счетчика только: К сожалению, нет никаких способов любого другого Rails, чтобы сделать то, что вы ищете. Вы должны определить новую локальную переменную и присвоить значение счетчика во всех парциальных руками:

<% counter = local_assigns.detect {|var, value| var.match(/_counter\z/)}.last %> 

<%= counter %> 
+0

парциальное должен оставаться 'item',' 'product', category' и т.д. Счетчик, который должен быть совмещенным. Он будет перегружен, если все партитуры будут сглажены с помощью 'item'. Другая причина, все частичные уже реализованы, но я забыл добавить с ними счетчик. – raymondralibi

+0

См. Обновленный. Разве это DRY вы ищете?)) –

+0

Perfect. Раньше я не знал «local_assigns». спасибо. – raymondralibi

Смежные вопросы