На данный момент у меня есть единицы и категории в виде таблиц. Категории имеют имя, год, unit_id и exam_board_id. У единиц есть только имя.Создать флажки только из определенных объектов
(Категории относятся к единицам измерения).
Я пытаюсь создать флажок единиц, которые имеют определенную Category.Year и category.exam_board_id
На данный момент я попытался создать два метода, чтобы попытаться забрать эти блоки, как это:
def ocr_as_units(unit)
unit.categories.each do |category|
if category.year = "AS" && category.exam_board_id == 1
return true
end
end
end
def display_ocr_as_units(unit)
# ocr_as_units = []
if ocr_as_units(unit) == true
# ocr_as_units << unit
return unit.name
end
end
И в форме, где я хочу, чтобы создать флажки у меня есть следующий код (в Haml):
- Unit.all.each do |unit|
= display_ocr_as_units(unit)
.category-label
= label_tag dom_id(unit), unit.name
= check_box_tag "test[unit_ids][]", unit.id, @test.unit_ids.include?(unit.id), id:dom_id(unit)
до сих пор все это делает правильно ди разбить единицы, которые являются AS и OCR, но затем под ними создаются флажки для всех блоков. Есть ли способ взять единицы, которые возвращаются с помощью метода display_ocr_as_units(unit)
, и использовать их для создания флажков?
Благодаря
Есть несколько проблем с вашим кодом (я понимаю, Ruby - это не ваш основной язык?). Взгляните на этот http://ruby-doc.org/core-2.2.0/Array.html#method-i-select –