Выбор подмножества Rails всегда возвращает true - PullRequest
0 голосов
/ 02 августа 2010

Я пытаюсь найти в наборе данных значение. Если набор данных содержит значение, приложение что-то делает. Если это не так, приложение делает что-то еще.

Данные распадаются следующим образом: у меня есть филиалы и пользователи, каждый из которых имеет отношение 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 голосов
/ 02 августа 2010
if @current_user.affiliates.include?(a)
...