Rails模型多列唯一性

时间:2010-05-20 08:30:44

标签: ruby-on-rails model unique

我正在使用

创建一个Viewer模型
belongs_to :users
belongs_to :orders

将模型用户和订单与:has_many :through => :viewers

连接起来

Viewer模型的属性为user_idorder_id

我如何进行设置,以便只有user_idorder_id在同一行中都是唯一的才能接受新的观看者?我记得在MySQL中能够用旗帜这样做(虽然我不能为我的生活记住它是什么),但我不知道如何使用Rails。

我可以执行(对于Viewer.rb)validates_uniqueness_of :user_id, :scope => :order_id吗?

1 个答案:

答案 0 :(得分:0)

喔。 我认为这样做的方法如下:

在Viewer模型迁移文件中

(即:我之前应该这样做)

def self.up
  #create_table code
  end

  add_index :viewers, [:user_id, :order_id], :unique => true
end