Huy*_*Huy 4 exception-handling ruby-on-rails ruby-on-rails-3
我正在使用rails应用程序,并且经常遇到以下错误:
Mysql2::Error: Duplicate entry '3022093-2000000028003-visited' for key 'unique_user_place_relationship'
Run Code Online (Sandbox Code Playgroud)
虽然我已将问题的根源缩小到以下几行:
begin
up = UserPlace.new(user_place_params)
up.skip_logging
up.save!
rescue ActiveRecord::RecordNotUnique => e
Rails.logger.warn(e)
end
Run Code Online (Sandbox Code Playgroud)
在我的表中,我有以下索引:
key_name seq_in_index column_name
unique_user_place_relationship 1 user_id
unique_user_place_relationship 2 place_id
unique_user_place_relationship 3 relationship
Run Code Online (Sandbox Code Playgroud)
问题是我没有validate_uniqueness_ofuser_id,place_id和关系user_place.rb吗?
根据我的理解,ActiveRecord:RecordNotUnique应该捕获此错误,因为事务不满足db级别的索引约束.
| 归档时间: |
|
| 查看次数: |
11977 次 |
| 最近记录: |