Я пытаюсь найти в наборе данных значение. Если набор данных содержит значение, приложение что-то делает. Если это не так, приложение делает что-то еще.
Данные распадаются следующим образом: у меня есть филиалы и пользователи, каждый из которых имеет отношение 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, но продолжаю придумывать вспомогательные средства для форм.