gpt4 book ai didi

ruby-on-rails - Rails has_many :through validation

转载 作者:行者123 更新时间:2023-12-04 05:41:03 26 4
gpt4 key购买 nike

我在通过关联从 has_many 验证模型时遇到问题。以下是相关模型:

广播模型

class Broadcast < ActiveRecord::Base

attr_accessible :content,
:expires,
:user_ids,
:user_id

has_many :users, through: :broadcast_receipts
has_many :broadcast_receipts, dependent: :destroy

validates :user_id, presence: true
validates :content, presence: true

end

广播接收模型

class BroadcastReceipt < ActiveRecord::Base

belongs_to :broadcast
belongs_to :user

attr_accessible :user_id, :cleared, :broadcast_id

validates :user_id , presence: true
validates :broadcast_id , presence: true
end

还有通过广播回执与Users that have_many broadcasts receipts关联。

问题似乎与以下行有关:

validates :broadcast_id         , presence: true

每当我尝试创建一个广播时,我都会收到一个没有给出错误消息的回滚。但是,当删除上面的行时,一切都按预期进行。

这看起来像是在创建广播收据之前未保存广播的问题。
有什么方法可以验证收据模型上是否设置了 broadcast_id?

最佳答案

这似乎与此处讨论的问题相同:https://github.com/rails/rails/issues/8828 ,这是通过将 :inverse of 添加到连接模型的 has_many 关联来解决的。

关于ruby-on-rails - Rails has_many :through validation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14748251/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com