如何指示Formtastic选择仅根据条件显示值?
- semantic_form_for @member do |f|
- f.inputs do
= f.input :person
= f.input :role, :include_blank => false
= f.input :active
我只希望:人员输入列出/选择活跃的人,即person.active == true。我试图传递条件哈希映射无效。
答案 0 :(得分:2)
这是一个两步过程。
首先,您需要一种仅选择活跃人物的方法。接下来,您需要通过:collection选项将活动人员集合传递给formtastic输入。
第一步选择活跃的人:这就像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
答案 1 :(得分:0)
您可以通过:collection选项提供任何自定义值集合:
f.input :person, :collection => Person.find(:all, :conditions => "whatever")