3
我有幾個has_and_belongs_to_many
關聯,我還使用關聯中的uniq
選項來避免與重複鍵有關的MySQL錯誤。我協會是這樣的:has_and_belongs_to_many和關聯表上的唯一索引生成「重複項」失敗
has_and_belongs_to_many :people, :uniq => true
我添加的指標是我添加使用分主鍵:
add_index :table_name, [:key_1, :key_2], :unique => true
在ASSOCATION的兩側。但是當我嘗試關聯一個對象兩次時,我的應用程序拋出了由MySQL生成的Mysql2::Error: Duplicate entry '1-9' for key...
錯誤。有沒有一種聰明的方式來處理這個問題?
我想過幾種可能的解決方案,但並不聰明。我想通過使用:insert_sql
選項來手動更改INSERT查詢,但是對於20個關聯表來說,這將花費很多工作量。有沒有更好的方法來處理這個問題?
我怎麼能在一箇中心位置做這件事,以保持乾爽?我不想在20個不同的地方重置此錯誤 – davidb 2011-12-27 11:57:39
爲此問題打開新線程=> http://stackoverflow.com/questions/8644577/how-to-rescue-exception-central-and-dry – davidb 2011-12-27 12:22:32