【发布时间】:2014-05-30 13:30:32
【问题描述】:
直奔问题,我在使用复合键的 Active Record(NO RAILS) 方面遇到了一些问题。顺便说一句,我正在使用“gem composite_primary_keys”。此表是一个包含另外两个字段的连接表。 问题是,当我做一个简单的查询时:
Freezer_Beer.find([freezer.id,beer.id]).take
它抛出:
PG::UndefinedColumn: ERROR: column freezer_beers.[:freezer_id, :beer_id] does not exist (ActiveRecord::StatementInvalid)
SELECT "freezer_beers".* FROM "freezer_beers" WHERE "freezer_beers"."[:freezer_id, :beer_id]"
我的模型是:
class Freezer < ActiveRecord::Base
has_many :beers, :through => :freezer_beer
end
class Beer < ActiveRecord::Base
has_many :freezers, :through => :freezers_beers
end
class Freezer_Beer < ActiveRecord::Base
belongs_to :freezer
belongs_to :beer
self.primary_key = :freezer_id, :beer_id
end
谢谢!
【问题讨论】:
标签: ruby-on-rails ruby postgresql activerecord composite-primary-key