如何解决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 举报,一经查实,本站将立刻删除。