轨道上的ruby中的复合主键

时间:2012-12-13 08:52:54

标签: ruby-on-rails ruby activerecord composite-primary-key

我正在尝试使用http://compositekeys.rubyforge.org/以便在我的activerecord模型中使用复合主键。

我已将gem 'composite_primary_keys', '=3.1.0'添加到我的Gemfile中。 现在我正在尝试按如下方式设置我的第一个模型类。

class StringProperty < ActiveRecord::Base
    self.primary_keys :entity_id, :property_id
    set_table_name "problem.string_property"
    attr_accessible :entity_id, :property_id, :value
end

但我得到的只是: enter image description here

我做错了什么? :(

2 个答案:

答案 0 :(得分:9)

我认为以下是可行的。

require 'composite_primary_keys'
class StringProperty < ActiveRecord::Base
    self.primary_keys = :entity_id, :property_id
    set_table_name "problem.string_property"
    attr_accessible :entity_id, :property_id, :value
end

答案 1 :(得分:0)

如果仅用于唯一约束目的,请使用:

class Field < ActiveRecord::Base validates :input, uniqueness: { scope: :user_id, message: "one input per user" } end

来源:http://guides.rubyonrails.org/active_record_validations.html