Rails子集select始终返回true

时间:2010-08-02 16:40:33

标签: ruby-on-rails haml has-and-belongs-to-many

我正在尝试在数据集中搜索值。如果数据集包含值,则应用程序会执行某些操作。如果没有,该应用程序会做其他事情。

数据分解如下:我有分支机构和用户,每个都与另一个有HABTM关系。我有一个页面,用户可以在其中注册联盟会员,这些联盟会显示为一组复选框。

我想要用户目前已注册的所有关联企业的复选框。

以下是视图的代码(在HAML中)

- @affiliates.each do |a|
  %li
    %label{ :for => "affiliate_#{a.id}"}= a.name
    - if @current_user.affiliates.select{ |ua| ua.id == a.id }
      = check_box_tag "affiliate_list[#{a.id}]", 1, true, {:id => "affiliate_#{a.id}"}
    - else
      = check_box_tag "affiliate_list[#{a.id}]", 1, false, {:id => "affiliate_#{a.id}"}

此代码始终返回true,因此即使用户尚未注册联盟会员,也会检查复选框。

我查了.select方法,但我一直想出表格助手的东西。

1 个答案:

答案 0 :(得分:0)

if @current_user.affiliates.include?(a)