我有一个Rails 3.2.21应用程序,我在窗体中添加一个简单的form/collection_select字段。当从下拉列表中选择一个对象(或保留为空)我得到以下错误:ActiveRecord AssociationType不匹配
ActiveRecord::AssociationTypeMismatch at /calls/5
BillFacility(#70179530126460) expected, got String(#70179505820040)
这里是我的模型是这样的:
call.rb
belongs_to :bill_facility
attr_accessible :bill_facility_id
bill_facility.rb
has_many :calls
这里是我的表是这样的:
_form.html.erb
<%= f.collection_select(:bill_facility_id, BillFacility.order("facility_name ASC"), :id, :facility_name, {:include_blank => true}, {:class => 'select'}) %>
这里的迁移我做的bill_facility_id
添加BillFacility
模型,并添加到Call
型号:
class CreateBillFacilities < ActiveRecord::Migration
def change
create_table :bill_facilities do |t|
t.string :facility_name
t.string :facility_address
t.timestamps
end
end
end
class AddBillFaciltyIdToCalls < ActiveRecord::Migration
def change
add_column :calls, :bill_facility_id, :integer
end
end
如果我手动分配电话号码bill_facility_id
我收到一个未知的to_i
方法错误。如果我手动使其零,然后选择从下拉一个BillFacilty
(或留空)我得到的不匹配错误:
ActiveRecord::AssociationTypeMismatch at /calls/5
BillFacility(#70179530126460) expected, got String(#70179505820040)
我敢肯定,这是一些简单的我失踪。任何人有什么想法我在这里做错了吗?这有点早,所以我的头脑有些模糊,所以我应该等到我完全清醒,但我想我会寻求一些帮助。
如果您有任何问题,请让我知道。
请添加完整的回溯以及控制器代码。 – messanjah