我有一个Rails 4应用程序,它有一个Devise用户。 Devise用户可以创建多个应用程序,每个应用程序可以包含多个证书。在任何给定时间,tho和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
答案 0 :(得分: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
我不确定答案是否可以解决您的问题。如果您有任何疑问,请在下面发表评论。