Rails:通过验证唯一性

时间:2012-02-21 14:41:48

标签: ruby-on-rails validation validates-uniqueness-of

我有以下型号:

Language

Itemtype

Item
    belongs_to :itemtype

LocalisedItem
    belongs_to :item
    belongs_to :language

LocalisedItem模型有一个名为“title”的属性。

我想验证所述“标题”属性的唯一性。我的问题是范围:它应该是每种语言(简单)和项目类型的唯一,我直到现在都无法弄清楚如何做。

我最好的尝试......

validates :title, :uniqueness => { :scope => [:language_id, 'item.itemtype_id'] }

...以“NoMethodError:undefined method`item.itemtype_id'”失败。

有没有办法以所描述的方式检查唯一性?

1 个答案:

答案 0 :(得分:1)

您可以使用此格式验证范围的唯一性:

validates_uniqueness_of :title, :scope => :language_id