Важное примечание: добавление div
в качестве дочернего элемента ul
означает недопустимый HTML :)
В качестве альтернативы можно добавитьfor-disable
класс добавлен к li
с после первых пяти interests
?
Как насчет этого, используя each_with_index
:
- @interests.each_with_index do |interest, index|
%li{ class: ("for-disable" if index > 4) }
= f.check_box(interest.id)
= f.label(interest.id, interest.name)
Или альтернативный синтаксис с использованием помощника tag
, если вы предпочитаете:
- @interests.each_with_index do |interest, index|
= tag.li class: ("for-disable" if index > 4) do
= f.check_box(interest.id)
= f.label(interest.id, interest.name)
Индекс начинается с 0
, следовательно, проверяется, если > 4
.
В качестве альтернативы, если вы хотите, чтобы все interests
после первых пяти в отдельной div
вы могли бы использовать:
%ul
- @interests.first(5) do |interest|
%li
= f.check_box(interest.id)
= f.label(interest.id, interest.name)
.for-disable
%ul
- @interests.drop(5) do |interest|
%li
= f.check_box(interest.id)
= f.label(interest.id, interest.name)
И красиво, и чисто, и должно предложить что-то, чтобы сделать то, что вы ищете - дайте мне знать, как вы поживаете или если у вас есть какие-либо вопросы:)