我在Rails 2工作,我的模型看起来像这样:
class Site < ActiveRecord::Base
has_many :contacts
def primary_contact
Contact.find :first, :conditions => {:site_id => self,
:primary_contact => true}
end
def primary_contact= new_primary_contact
contact = Contact.find(new_primary_contact)
contact.primary_contact = true
contact.save
end
end
请注意:primary_contact虚拟属性在模型中初始化,因此应该存在默认值。
我视图中@site的表单包含以下输入:
<%= form.input :primary_contact, :as => :check_boxes, :collection => (Contact.find(:all, :conditions => {:site_id => @site.id}, :order => "first_name ASC")), :label => false, :include_blank => false %>
这给了我一个复选框列表,其中已经选中了正确的默认复选框(即选中了该站点的主要联系人)。但是,我想以单选按钮或选择下拉列表的形式使用此功能,在这两种情况下,只需将:as => :check_boxes
更改为:as => :select
或:as => :radio
,默认情况下不会选择。
我也尝试将集合指定为:collection => @site.contacts
,但同样如此。
知道我做错了吗?
答案 0 :(得分:0)
哪个版本的Formtastic?听起来这可能是一个错误。如果您在升级到Formtastic 1.2.4后仍然可以重复,请在Github上提交一个问题。