【问题标题】:Add UUID to Subscription Route Instead of User ID将 UUID 添加到订阅路由而不是用户 ID
【发布时间】:2016-07-19 22:59:23
【问题描述】:

所以我有一个我正在开发的 Rails 应用程序,它是一个带有 Stripe 的订阅服务。创建用户时,他们会被分配一个 :id,然后如果/当他们购买了一个被分配一个 :id 的订阅时。

他们帐户信息的路径,实际上并不多,因为它的 Stripe 看起来像这样: https://myappnamehere.herokuapp.com/koudoku/users/47/subscriptions/2

这是第 47 位用户,也是第 3 次订阅。

我的问题是

  1. 我应该在这个应用中使用 uuid 吗?
  2. 将 uuid 与此 url 结构集成的最佳方式是什么?
  3. 设置这个涉及什么?这是一个简单的 routes.rb 更改吗?

感谢您的洞察!

【问题讨论】:

  • 您使用的是哪个数据库?
  • 带有 pg gem 的 postgres

标签: ruby-on-rails stripe-payments uuid


【解决方案1】:

从控制台运行

 rails generate migration enable_uuid_ossp_extension
 rails generate model document title:string author:string

然后将您的迁移编辑为如下所示:

class EnableUuidOsspExtension < ActiveRecord::Migration


  def change
      enable_extension 'uuid-ossp'
    end
  end

然后编辑相关的模型迁移或创建更改迁移以使您的模型使用新的 UUID

class CreateDocuments < ActiveRecord::Migration


def change
   create_table :documents, id: :uuid  do |t|
      t.string :title
      t.string :author
      t.timestamps
    end
  end
end

然后运行:

rake db:create
rake db:migrate

现在你应该可以走了。要记住的一件事是,为了使您的 .first 和 .last 方法起作用,您必须创建自己的范围以使用 created_at 时间戳执行查询。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-20
    • 1970-01-01
    • 1970-01-01
    • 2016-07-28
    • 1970-01-01
    • 1970-01-01
    • 2013-10-11
    相关资源
    最近更新 更多