Это двухэтапный процесс.
Для начала вам нужно выбрать только активных людей. Затем вам нужно передать эту коллекцию активных людей в формулярный ввод с помощью опции: collection.
Шаг первый, выбирая только активных людей: это так же просто, как Person.find(:all, :conditions ["active = ?", true])
. Но я думаю, что это лучше сделать с помощью именованной области в модели.
class Person < ActiveRecord::Base
# ...
named_scope :active, :conditions => {:active => true}
end
Теперь Person.active
совпадает с Person.find(:all, :conditions ["active = ?", true])
Шаг второй, обновление формы:
- semantic_form_for @member do |f|
- f.inputs do
= f.input :person, :collection => Person.active
= f.input :role, :include_blank => false
= f.input :active