仅从特定对象创建复选框

时间:2015-05-01 11:30:07

标签: ruby-on-rails checkbox

目前我将单位和类别作为表格。类别具有名称,年份,unit_id和exam_board_id。单位只有一个名字。

(类别属于单位)。

我正在尝试创建一个具有特定类别的单位的复选框。日期和类别.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)方法返回的单位并使用这些单位创建复选框?

由于

1 个答案:

答案 0 :(得分:0)

这可能有帮助:

category.year =“AS”&amp;&amp; category.exam_board_id == 1应该是 category.year ==“AS”&amp;&amp; category.exam_board_id == 1然后它工作正确。 Beacuse category.year =“AS”它将分类年份分配给“AS”并始终返回true