微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Rails 6 不保存到数据库

如何解决Rails 6 不保存到数据库

我正在尝试将记录保存到 Rails 模型。我使用 postgres13 db 作为基础数据库。 (遵循本教程:Stripe Webhooks Tutorial

当我运行代码时,会返回 id,如果我从控制台查询模型,我可以看到所有记录。我没有在日志中收到任何错误

问题是,它没有写入数据库表。 这可能是什么原因,我该如何解决

我尝试像这样保存数据:

event = WebhookEvent.create!(webhook_params)

webhook_params 是这样的:

  def webhook_params
    {
      source: params[:source],data: params.except(:source,:controller,:action).permit!,external_id: external_id
    }
  end

模型:

class WebhookEvent < ApplicationRecord
  enum state: { pending: 0,processing: 1,processed: 2,Failed: 3 }
end

和表定义:

class CreateWebhookEvents < ActiveRecord::Migration[6.0]
  def change
    create_table :webhook_events do |t|
      t.string :source
      t.string :external_id
      t.json :data
      t.integer :state,default: 0
      t.text :processing_errors

      t.timestamps
    end
    add_index :webhook_events,:source
    add_index :webhook_events,:external_id
    add_index :webhook_events,[:source,:external_id]
  end
end

如有任何建议,我们将不胜感激。

解决方法

供参考。看来是模型有问题。 我用不同的名字重新生成了它,它运行良好。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。