我有一个模特
class Gift < ActiveRecord::Base
validates_uniqueness_of :giver_id, :scope => :account_id
end
add_index(:gifts, [:account_id, :giver_id], :uniq => true)
动作
def create
@gift= Gift.new(params[:gift])
if @gift.save
...
else
...
end
end
在“生产”模式下,我有时会收到错误
ActiveRecord::StatementInvalid: Mysql::Error: Duplicate entry '122394471958-50301499' for key 'index_gifts_on_account_id_and_giver_id'
出了什么问题?
答案 0 :(得分:1)
您有两个值:account_id和:giver_id。如果你说:unique =&gt;在索引上为true表示您希望组合:account_id和:giver_id以产生将插入索引的唯一值。