mysql - 将忽略插入到 Rails 事件记录中的表语句中

标签 mysql ruby-on-rails rails-activerecord

如何在 Rails 中使用 active record 方法来忽略插入重复条目时的错误。我的数据库中已经指定了唯一的。

最佳答案

对于 Rails >= 3,你可以使用这个:

    begin
      Device.create!(attributes)
    rescue ActiveRecord::RecordNotUnique
      # The device already exists.
    end

使用 create 非常重要! (带有尾随爆炸字符)。如果由于某种原因无法保存记录,则会引发异常,在这种情况下,我们的目标是挽救 ActiveRecord::RecordNotUnique

我建议您将其放在具有描述性名称的模型方法上,例如 create_if_not_exists

关于mysql - 将忽略插入到 Rails 事件记录中的表语句中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31396310/

相关文章:

mysql - 如何优化此 VIEW 语句?

ruby-on-rails - rails 6 : Separate styles and layout for dashboard and main (front) site

ruby-on-rails - HABTM 关系和连接表

ruby-on-rails - 按今天添加的评论对帖子进行排名

sql - Rails 4 中的左外连接

Mysql排序顺序日期0000-00-00在前

mysql - Laravel-4 本地服务器上用户的实时内容更新

mysql - 使用事件记录查询计算百分比

mysql - ActiveRecord 4 + SQLite3 bool 查询支持中的回归?

php - 从 MySql 查询打印更多结果