【问题标题】:Composite primary keys in ruby on railsruby on rails 中的复合主键
【发布时间】:2012-12-13 08:52:54
【问题描述】:

我正在尝试使用 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

但我得到的只是:

我做错了什么? :(

【问题讨论】:

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


    【解决方案1】:

    我认为以下将起作用。

    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
    

    【讨论】:

    • 嗯,现在我在 Rails 服务器上遇到了一个新错误。 Composite_primary_keys.rb:37:in 无法加载此类文件 -- acitve_record/associations/association_prody.rb (LoadError)
    • 现在为我工作,使用的是旧版本 (3.x.x) 这导致了 LoadError
    • composite_primary_keys gem 的文档相当稀少。我会建议使用 Sequel,正如 Overbryd 在 stackoverflow.com/a/42185901/3017719 中所建议的那样。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多