0
У меня есть следующие перечислимы, чтобы выбрать изделия на основе категории (HAML)Рубин перечислимы выбрать с дополнительным лимитом/найти
- blog(ENV[ "site" ]).articles.select { | a | a.data[ :category ] == category }.each_with_index do | article, index |
= index
Я хочу, чтобы иметь возможность ограничить этот вызов, но необязательно, то есть вернуть 2 или, может быть, вернуть все
- blog(ENV[ "site" ]).articles.select { | a | a.data[ :category ] == category }.first(2).each_with_index do | article, index |
= index
т.е. с введением первой (2)
Но необязательно делать что-то вроде первого («все») или первый() не представляется возможным
Благодаря
Вы не должны быть зубрежки столько логики в вашей точки зрения. Вы можете использовать scope/method для вашей модели для обработки части 'select' и помощника для обработки условной логики' first (2) '/' all'. Обратите внимание, что 'first ('all')' не имеет смысла, если вы хотите 'all', тогда просто опустите вызов'. First '. – meagar
@meagar является правильным. Что такое 'blog (...)'? Является ли 'articles' a отношением ActiveRecord? Вероятно, есть намного более чистые способы достижения того, чего вы хотите, без определения одного нового метода. –