Ruby on rails Rails有两个和多个

Ruby on rails Rails有两个和多个,ruby-on-rails,ruby-on-rails-3,activerecord,Ruby On Rails,Ruby On Rails 3,Activerecord,我正在开发Rails 4应用程序,其中有一个名为Apps的模型。每个应用程序都可以有多个证书,这些证书存储在证书模型中。在证书中,每个应用都可以有一个开发证书和一个生产证书,然后这些证书对于当前应用是活动的。在一个给定的时间内,应用程序只能激活两个证书(开发/生产)。我试图为这个逻辑想出一个ActiveRecord结构,但我迷路了。有什么建议吗 Apps (Has Many certificates) - development_certificate - production_cert

我正在开发Rails 4应用程序,其中有一个名为Apps的模型。每个应用程序都可以有多个证书,这些证书存储在证书模型中。在证书中,每个应用都可以有一个开发证书和一个生产证书,然后这些证书对于当前应用是活动的。在一个给定的时间内,应用程序只能激活两个证书(开发/生产)。我试图为这个逻辑想出一个ActiveRecord结构,但我迷路了。有什么建议吗

Apps (Has Many certificates)
  - development_certificate
  - production_certificate

Certificates (Belongs to App)

好吧,在你的模型上放两个布尔值。一个用于
开发
,一个用于
生产
。然后创建一个自定义验证器,该验证器在创建时检查是否有此应用程序的
开发
生产
证书处于活动状态。您还可以创建两个作用域,以便更轻松地获取此证书。

你不需要过度思考,也不需要用疯狂的方式来建模

对数据进行更紧密建模的解决方案只是两个一对一的关系:

class App < ActiveRecord::Base
  belongs_to :production_certificate, class_name: "Certificate"
  belongs_to :development_certificate, class_name: "Certificate"
end
class-App
谢谢您,在我的证书模型中,每个新证书都会自动分类为开发证书,可以通过在视图中编辑证书并将其更改为生产证书来更改。尽管如此,如果每个证书已经被分类到某个环境中,但不是为某个特定应用程序设计的,那么上述方法就不起作用了?也就是说,有解决办法吗?那么,一个
应用程序
对于每种类型只有一个
证书
@meagar的答案是正确的。谢谢我感谢你的帮助谢谢我将要使用它,我需要对模型做任何额外的设置还是应该添加某些字段?你的
应用程序
模型需要
生产证书id
开发证书id
。就这样。