Rails Model уникальность нескольких столбцов - PullRequest
0 голосов
/ 20 мая 2010

Я создаю модель Viewer с

belongs_to :users
belongs_to :orders

, которая объединяет модели Users и Orders с :has_many :through => :viewers.

И модель Viewer имеет атрибуты user_id иorder_id.

Как бы настроить его так, чтобы новые зрители были приняты, только если user_id и order_id уникальны в одной строке?Я помню, как в MySQL это можно было делать с флагом (хотя я не могу вспомнить, что это было за жизнь), но я не уверен, как это сделать с помощью Rails.

Могу ли ясделать что-то вроде (для Viewer.rb) validates_uniqueness_of :user_id, :scope => :order_id?

1 Ответ

0 голосов
/ 21 мая 2010

О. Я думаю способ сделать это следующим образом:

в файле миграции модели Viewer (то есть: я должен был сделать это раньше)

def self.up
  #create_table code
  end

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