【问题标题】:Composite Keys Rails Postgres复合键 Rails Postgres
【发布时间】: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


    【解决方案1】:

    语法是self.primary_keys = :freezer_id, :beer_id,你错过了一个s。

    【讨论】:

    • 是的!仅仅一个's'就杀死了一切! :( 另一个问题是因为我没有包括它:需要'composite_primary_keys'
    猜你喜欢
    • 2010-11-20
    • 1970-01-01
    • 2015-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多