0

我有一个拥有 Devise 用户的 Rails 4 应用程序。Devise 用户可以创建多个 App,每个 App 可以包含多个证书。在任何给定时间,App 只能有一个 production_certificate 和一个 development_certificate。我相信我在这里正确设置了关联。我现在的问题是如何将应用程序设置为使用应用程序拥有的众多证书中的一个作为生产/开发证书。

class App < ActiveRecord::Base
  belongs_to :user

  has_many :certificates

  belongs_to :production_certificate, class_name: 'Certificate'
  belongs_to :development_certificate, class_name: 'Certificate'
end

class Certificate < ActiveRecord::Base
  belongs_to :app
end
4

1 回答 1

1

我试图回答你的问题。

我想你有一个 app 对象和一些证书对象。

首先,你得到一个 App 对象。

app = App.find(YOUR ID)

app.certificates.each do |c|
  # In the loop, you can set your logic 
  # that selects which certificate is production certificate 
  # or development certificate

  if .....
    app.production_certificate = c

  elsif .....

    app.development_certificate = c
  end

end

app.save

我不确定答案能否解决您的问题。如果您有任何问题,请在下方发表评论。

于 2013-08-21T09:27:37.527 回答